Hur man arbetar med grundläggande arbetsbokinställningar i .NET

Hur man arbetar med grundläggande arbetsbokinstä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 (sparbeteende). Installera med dotnet add package Aspose.Cells_FOSS.

Steg-för-steg-guide

Steg 1: Installera paketet

dotnet add package Aspose.Cells_FOSS

Steg 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 för tal‑ 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 utdata. Nyckelegenskaper: UseSharedStrings (minskar filstorleken för blad med upprepade strängar), ValidateBeforeSave (utför validering innan 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 att ha laddat 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 när ValidateBeforeSave = true. Arbetsboken innehåller en strukturell inkonsekvens. Inaktivera ValidateBeforeSave tillfälligt för att spara och inspektera filen, och åtgärda sedan det problematiska innehållet.

Dokumentegenskaper syns inte i Excels File Info-panel.
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 endast in den på true för filer som har sitt ursprung i macOS Excel med 1904‑datumsystemet aktiverat; blandning av system orsakar fel 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 när ingen reparation har gjorts?

Ja. Samlingen Issues kommer att vara tom och både HasRepairs och HasDataLossRisk kommer att returnera false.

Se även

 Svenska