Ako pracovať s hlavnými nastaveniami zošita v .NET

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_FOSS

Krok 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.

Pozri tiež

 Slovenčina