Ako pracovať s hlavnými nastaveniami zošita v .NET
Aspose.Cells FOSS pre .NET poskytuje konfiguráciu na úrovni zošita prostredníctvom Workbook.Settings (locale a dátový systém), Workbook.DocumentProperties (metadáta autora), Workbook.LoadDiagnostics (správa o oprave) a SaveOptions (správanie pri ukladaní). Inštalujte pomocou dotnet add package Aspose.Cells_FOSS.
Sprievodca krok za krokom
Krok 1: Nainštalujte balík
dotnet add package Aspose.Cells_FOSSKrok 2: Importovať menný priestor
using Aspose.Cells_FOSS;
using System.Globalization;Krok 3: Konfigurácia WorkbookSettings
Workbook.Settings vracia objekt WorkbookSettings. Nastavte Date1904 = true pre súbory pochádzajúce z macOS, ktoré používajú dátumový systém 1904. Nastavte Culture na ovládanie locale pre parsovanie čísel a dátumov.
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);Krok 4: Nastaviť vlastnosti dokumentu
Workbook.DocumentProperties zverejňuje Title, Subject, Author, Keywords, Comments, Category, Company a Manager ako priame reťazcové vlastnosti.
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);Krok 5: Použite SaveOptions
Workbook.Save(path, SaveOptions) prijíma objekt SaveOptions na prispôsobenie výstupu. Kľúčové vlastnosti: UseSharedStrings (znižuje veľkosť súboru pre hárky s opakujúcimi sa reťazcami), ValidateBeforeSave (spúšťa overovanie pred zápisom) a CompactStyles (odstraňuje nepoužívané štýly).
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.");Krok 6: Prečítajte LoadDiagnostics po oprave
Po načítaní pomocou TryRepairPackage = true skontrolujte Workbook.LoadDiagnostics, aby ste zistili, či boli použité nejaké opravy.
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}");Bežné problémy a riešenia
WorkbookSaveException keď ValidateBeforeSave = true.
Zošita obsahuje štrukturálnu nekonzistenciu. Dočasne vypnite ValidateBeforeSave, aby ste uložili a skontrolovali súbor, potom opravte problematický obsah.
Vlastnosti dokumentu nie sú viditeľné v paneli Informácie o súbore v Exceli.
Uistite sa, že nastavujete vlastnosti na Workbook.DocumentProperties, nie na Workbook.Properties. Posledný obsahuje príznaky zobrazenia, nie reťazce metadát.
Date1904 = true spôsobuje posun hodnôt dátumu.
Date1904 mení epochu používanú pre sériové čísla dátumu. Nastavte ho na true iba pre súbory, ktoré pochádzajú z macOS Excelu s povoleným systémom dátumu 1904; miešanie systémov spôsobuje chyby o 1462 dní.
Často kladené otázky
Aký je rozdiel medzi WorkbookSettings a WorkbookProperties?
WorkbookSettings (prostredníctvom Workbook.Settings) obsahuje konfiguračné hodnoty ako Date1904 a Culture. WorkbookProperties (prostredníctvom Workbook.Properties) obsahuje príznaky zobrazenia OOXML, ako je ShowObjects. Reťazce metadát dokumentu (Názov, Autor, atď.) sa nachádzajú v Workbook.DocumentProperties.
Odstraňuje CompactStyles niekedy štýly, ktoré potrebujem?
Nie. CompactStyles odstraňuje iba štýly, ktoré nie sú odkazované žiadnou bunkou alebo pravidlom formátovania v zošite.
Môžem čítať LoadDiagnostics aj keď nebola vykonaná žiadna oprava?
Áno. Zbierka Issues bude prázdna a oba HasRepairs a HasDataLossRisk vrátia false.