Hur man arbetar med grundläggande arbetsboksinställningar i .NET
Aspose.Cells FOSS för .NET exponerar arbetsboksnivåkonfiguration via Workbook.Settings (språk och datumssystem), Workbook.DocumentProperties (författarmetadata), Workbook.LoadDiagnostics (reparationsrapport) och SaveOptions (spara-beteende). Installera med ett enda dotnet add package-kommando.
Steg-för-steg-guide
Steg 1: Installera paketet
dotnet add package Aspose.Cells.FOSSSteg 2: Importera namnutrymmet
using Aspose.Cells_FOSS;
using System.Globalization;Steg 3: Konfigurera WorkbookSettings
Workbook.Settings returnerar ett WorkbookSettings objekt. Ställ in Date1904 = true för macOS-ursprungliga filer som använder 1904-datumsystemet. Ställ in Culture för att kontrollera språk och datumparsning.
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);Steg 4: Ställ in dokumentegenskaper
Workbook.DocumentProperties exponerar Title, Subject, Author, Keywords, Comments, Category, Company och Manager som direkta strängegenskaper.
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);Steg 5: Använd SaveOptions
Workbook.Save(path, SaveOptions) accepterar ett SaveOptions objekt för att anpassa outputen. Nyckelegenskaper: UseSharedStrings (minskar filstorleken för blad med upprepade strängar), ValidateBeforeSave (utför validering före skrivning) och CompactStyles (tar bort oanvända stilar).
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.");Steg 6: Läs LoadDiagnostics efter reparation
Efter inläsning med TryRepairPackage = true, kontrollera Workbook.LoadDiagnostics för att se om några reparationer har tillämpats.
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}");Vanliga problem och lösningar
WorkbookSaveException when ValidateBeforeSave = true. Arbetsboken innehåller en strukturell inkonsekvens. Inaktivera ValidateBeforeSave tillfälligt för att spara och inspektera filen, och sedan åtgärda det problematiska innehållet.
Dokumentegenskaper syns inte i Excels panel för filinformation. Se till att du ställer in egenskaper på Workbook.DocumentProperties, inte Workbook.Properties. Den senare innehåller visningsflaggor, inte metadata-strängar.
Date1904 = true orsakar att datumvärden förskjuts. Date1904 ändrar epoken som används för datumserienummer. Ställ bara in den på true för filer som har sitt ursprung i macOS Excel med 1904-datersystemet aktiverat; blandning av system ger fel med en avvikelse på 1462 dagar.
Vanliga frågor
Vad är skillnaden mellan WorkbookSettings och WorkbookProperties?
WorkbookSettings (via Workbook.Settings) innehåller konfigurationsvärden som Date1904 och Culture. WorkbookProperties (via Workbook.Properties) innehåller OOXML-visningsflaggor såsom ShowObjects. Dokumentmetadata-strängar (Titel, Författare, osv.) finns i Workbook.DocumentProperties.
Tar CompactStyles någonsin bort de stilar jag behöver?
Nej. CompactStyles tar bara bort stilar som inte refereras av någon cell eller formateringsregel i arbetsboken.
Kan jag läsa LoadDiagnostics även om ingen reparation har gjorts?
Ja. Issues-samlingen kommer att vara tom och både HasRepairs och HasDataLossRisk kommer att returnera false.