Slik arbeider du med kjerne‑arbeidsbokinnstillinger i .NET
Aspose.Cells FOSS for .NET eksponerer arbeidsboknivåkonfigurasjon gjennom Workbook.Settings (locale og datosytem), Workbook.DocumentProperties (forfattermetadata), Workbook.LoadDiagnostics (reparasjonsrapport), og SaveOptions (lagringsadferd). Installer med dotnet add package Aspose.Cells_FOSS.
Steg-for-steg guide
Trinn 1: Installer pakken
dotnet add package Aspose.Cells_FOSSTrinn 2: Importer navnerommet
using Aspose.Cells_FOSS;
using System.Globalization;Trinn 3: Konfigurer WorkbookSettings
Workbook.Settings returnerer et WorkbookSettings-objekt.
Angi Date1904 = true for macOS‑opprinnede filer som bruker 1904‑datoformatet.
Angi Culture for å kontrollere tall‑ og datoparsingslokale.
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);Trinn 4: Angi dokumentegenskaper
Workbook.DocumentProperties eksponerer Title, Subject, Author, Keywords, Comments, Category, Company og Manager som direkte strengegenskaper.
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: Bruk SaveOptions
Workbook.Save(path, SaveOptions) godtar et SaveOptions‑objekt for å tilpasse utdata. Nøkkelegenskaper: UseSharedStrings (reduserer filstørrelsen for ark med gjentatte strenger), ValidateBeforeSave (kjører validering før skriving), og CompactStyles (fjerner ubrukte stiler).
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: Les LoadDiagnostics etter reparasjon
Etter lasting med TryRepairPackage = true, sjekk Workbook.LoadDiagnostics for å se om noen reparasjoner ble utført.
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}");Vanlige problemer og løsninger
WorkbookSaveException når ValidateBeforeSave = true.
Arbeidsboken inneholder en strukturell inkonsistens. Deaktiver ValidateBeforeSave midlertidig for å lagre og inspisere filen, og deretter rett det problematiske innholdet.
Dokumentegenskaper er ikke synlige i Excels filinfo-panel.
Sørg for at du setter egenskaper på Workbook.DocumentProperties, ikke Workbook.Properties. Den siste inneholder visningsflagg, ikke metadata‑strenger.
Date1904 = true forårsaker at datoverdier forskyves.
Date1904 endrer epoken som brukes for dato‑serienumre. Angi den kun til true for filer som stammer fra macOS Excel med 1904-datosystemet aktivert; blanding av systemer forårsaker feil på 1462 dager.
Ofte stilte spørsmål
Hva er forskjellen mellom WorkbookSettings og WorkbookProperties?
WorkbookSettings (via Workbook.Settings) inneholder konfigurasjonsverdier som Date1904 og Culture. WorkbookProperties (via Workbook.Properties) inneholder OOXML‑visningsflagg som ShowObjects. Dokumentmetadata‑strenger (Tittel, Forfatter, osv.) finnes i Workbook.DocumentProperties.
Fjerner CompactStyles noen gang stiler jeg trenger?
Nei. CompactStyles fjerner kun stiler som ikke er referert til av noen celle eller formateringsregel i arbeidsboken.
Kan jeg lese LoadDiagnostics selv om ingen reparasjon ble forsøkt?
Ja. Issues‑samlingen vil være tom, og både HasRepairs og HasDataLossRisk vil returnere false.