Cum să lucrați cu setările de bază ale registrului de lucru în .NET
Aspose.Cells FOSS pentru .NET expune configurarea la nivel de registru de lucru prin Workbook.Settings (locale și sistem de date), Workbook.DocumentProperties (metadate autor), Workbook.LoadDiagnostics (raport de reparare) și SaveOptions (comportament de salvare). Instalați cu dotnet add package Aspose.Cells_FOSS.
Ghid pas cu pas
Pasul 1: Instalați pachetul
dotnet add package Aspose.Cells_FOSSPasul 2: Importă spațiul de nume
using Aspose.Cells_FOSS;
using System.Globalization;Pasul 3: Configurează WorkbookSettings
Workbook.Settings returnează un obiect WorkbookSettings. Setează Date1904 = true pentru fișierele provenite din macOS care utilizează sistemul de dată 1904. Setează Culture pentru a controla localele de analiză a numerelor și a datelor.
using Aspose.Cells_FOSS;
using System.Globalization;
var wb = new Workbook();
wb.Settings.Date1904 = false;
wb.Settings.Culture = new CultureInfo("en-US");
wb.Worksheets[0].Cells["A1"].PutValue("Settings configured");
wb.Save("settings.xlsx");
var loaded = new Workbook("settings.xlsx");
Console.WriteLine("Date1904: " + loaded.Settings.Date1904);Pasul 4: Setați proprietățile documentului
Workbook.DocumentProperties expune Title, Subject, Author, Keywords, Comments, Category, Company și Manager ca proprietăți de tip șir directe.
using Aspose.Cells_FOSS;
var wb = new Workbook();
wb.DocumentProperties.Title = "Quarterly Report";
wb.DocumentProperties.Author = "Reporting Team";
wb.DocumentProperties.Company = "Contoso Ltd";
wb.DocumentProperties.Keywords = "quarterly, sales, 2026";
wb.Save("properties.xlsx");
var loaded = new Workbook("properties.xlsx");
Console.WriteLine("Title: " + loaded.DocumentProperties.Title);
Console.WriteLine("Author: " + loaded.DocumentProperties.Author);Pasul 5: Utilizați SaveOptions
Workbook.Save(path, SaveOptions) acceptă un obiect SaveOptions pentru a personaliza ieșirea. Proprietăți cheie: UseSharedStrings (reduce dimensiunea fișierului pentru foi cu șiruri repetate), ValidateBeforeSave (rulează validarea înainte de scriere) și CompactStyles (elimină stilurile neutilizate).
using Aspose.Cells_FOSS;
var wb = new Workbook();
var ws = wb.Worksheets[0];
for (var i = 0; i < 50; i++)
ws.Cells[i, 0].PutValue("Repeated text");
var opts = new SaveOptions
{
UseSharedStrings = true,
ValidateBeforeSave = true,
CompactStyles = true,
};
wb.Save("compact.xlsx", opts);
Console.WriteLine("Saved with SaveOptions.");Pasul 6: Citește LoadDiagnostics după reparare
După încărcarea cu TryRepairPackage = true, verificați Workbook.LoadDiagnostics pentru a vedea dacă au fost aplicate reparații.
using Aspose.Cells_FOSS;
var opts = new LoadOptions { TryRepairPackage = true, TryRepairXml = true };
var wb = new Workbook("file.xlsx", opts);
var diag = wb.LoadDiagnostics;
Console.WriteLine("HasRepairs: " + diag.HasRepairs);
Console.WriteLine("HasDataLossRisk: " + diag.HasDataLossRisk);
foreach (var entry in diag.Issues)
Console.WriteLine($" [{entry.Severity}] {entry.Code}: {entry.Message}");Probleme comune și soluții
WorkbookSaveException când ValidateBeforeSave = true.
Registrul de lucru conține o inconsecvență structurală. Dezactivează ValidateBeforeSave temporar pentru a salva și inspecta fișierul, apoi repară conținutul problematic.
Proprietățile documentului nu sunt vizibile în panoul Informații fișier din Excel.
Asigurați-vă că setați proprietățile pe Workbook.DocumentProperties, nu pe Workbook.Properties. Ultimul conține steaguri de afișare, nu șiruri de metadate.
Date1904 = true cauzează deplasarea valorilor de dată.
Date1904 schimbă epoca utilizată pentru numerele seriale de dată. Seteaz‑o la true numai pentru fișierele care au provenit din Excel pe macOS cu sistemul de date 1904 activat; amestecarea sistemelor cauzează erori de 1462 de zile.
Întrebări frecvente
Care este diferența dintre WorkbookSettings și WorkbookProperties?
WorkbookSettings (prin Workbook.Settings) conține valori de configurare precum Date1904 și Culture. WorkbookProperties (prin Workbook.Properties) conține flaguri de afișare OOXML cum ar fi ShowObjects. Șirurile de metadate ale documentului (Titlu, Autor, etc.) se află în Workbook.DocumentProperties.
Înlătură CompactStyles vreodată stilurile de care am nevoie?
Nu. CompactStyles elimină doar stilurile care nu sunt referențiate de nici o celulă sau regulă de format în registrul de lucru.
Pot să citesc LoadDiagnostics chiar și atunci când nu s-a încercat nicio reparare?
Da. Colecția Issues va fi goală și atât HasRepairs, cât și HasDataLossRisk vor returna false.