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 prin Workbook.Settings (locale și sistemul de date), Workbook.DocumentProperties (metadatele autorului), Workbook.LoadDiagnostics (raport de reparare) și SaveOptions (comportament la salvare). Instalați cu o singură comandă dotnet add package.
Ghid pas cu pas
Pasul 1: Instalați pachetul
dotnet add package Aspose.Cells.FOSSPasul 2: Importați spațiul de nume
using Aspose.Cells_FOSS;
using System.Globalization;Pasul 3: Configurați WorkbookSettings
Workbook.Settings returnează un obiect WorkbookSettings. Setează Date1904 = true pentru fișierele de origine 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: Setează 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: Folosește 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 repetitive), ValidateBeforeSave (execută 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, verifică 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 remedii
WorkbookSaveException when 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. Asigură-te că setezi proprietățile pe Workbook.DocumentProperties, nu pe Workbook.Properties. Aceasta din urmă conține flag-uri de afișare, nu șiruri de metadate.
Date1904 = true provoacă deplasarea valorilor de dată. Date1904 schimbă epoca utilizată pentru numerele seriale de dată. Seteaz-o numai la true pentru fișierele care provin din Excel pe macOS cu sistemul de dată 1904 activat; combinarea 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 semnalizări 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 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.