Hoe te werken met Core Workbook-instellingen in .NET

Hoe te werken met Core Workbook-instellingen in .NET

Aspose.Cells FOSS for .NET biedt werkboek‑niveau configuratie via Workbook.Settings (locale en datum‑systeem), Workbook.DocumentProperties (auteur‑metadata), Workbook.LoadDiagnostics (reparatierapport) en SaveOptions (opslaan‑gedrag). Installeer met dotnet add package Aspose.Cells_FOSS.

Stapsgewijze handleiding

Stap 1: Installeer het pakket

dotnet add package Aspose.Cells_FOSS

Stap 2: Importeer de namespace

using Aspose.Cells_FOSS;
using System.Globalization;

Stap 3: Configureer WorkbookSettings

Workbook.Settings retourneert een WorkbookSettings object. Stel Date1904 = true in voor macOS‑afkomstige bestanden die het 1904‑datumsysteem gebruiken. Stel Culture in om de locale voor getal‑ en datumparsing te bepalen.

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);

Stap 4: Documenteigenschappen instellen

Workbook.DocumentProperties exposeert Title, Subject, Author, Keywords, Comments, Category, Company, en Manager als directe string‑eigenschappen.

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);

Stap 5: Gebruik SaveOptions

Workbook.Save(path, SaveOptions) accepteert een SaveOptions object om de uitvoer aan te passen. Belangrijke eigenschappen: UseSharedStrings (verkleint de bestandsgrootte voor bladen met herhaalde tekenreeksen), ValidateBeforeSave (voert validatie uit vóór het schrijven), en CompactStyles (verwijdert ongebruikte stijlen).

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.");

Stap 6: Lees LoadDiagnostics na reparatie

Na het laden met TryRepairPackage = true, controleer Workbook.LoadDiagnostics om te zien of er reparaties zijn toegepast.

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}");

Veelvoorkomende problemen en oplossingen

WorkbookSaveException wanneer ValidateBeforeSave = true.
De werkmap bevat een structurele inconsistentie. Schakel ValidateBeforeSave tijdelijk uit om het bestand op te slaan en te inspecteren, en herstel vervolgens de problematische inhoud.

Documenteigenschappen niet zichtbaar in het Bestand Info‑paneel van Excel.
Zorg ervoor dat u eigenschappen instelt op Workbook.DocumentProperties, niet op Workbook.Properties. Het laatste bevat weergave‑vlaggen, geen metagegevens‑strings.

Date1904 = true veroorzaakt verschuivingen in datumwaarden. Date1904 wijzigt het epoch dat wordt gebruikt voor datumserienummers. Stel het alleen in op true voor bestanden die afkomstig zijn van macOS Excel met het 1904‑datumsysteem ingeschakeld; het mengen van systemen veroorzaakt fouten van 1462 dagen.

Veelgestelde vragen

Wat is het verschil tussen WorkbookSettings en WorkbookProperties?

WorkbookSettings (via Workbook.Settings) bevat configuratiewaarden zoals Date1904 en Culture. WorkbookProperties (via Workbook.Properties) bevat OOXML‑weergavevlaggen zoals ShowObjects. Documentmetadata‑strings (Titel, Auteur, enz.) bevinden zich in Workbook.DocumentProperties.

Verwijdert CompactStyles ooit stijlen die ik nodig heb?

Nee. CompactStyles verwijdert alleen stijlen die niet worden gerefereerd door een cel of opmaakregel in de werkmap.

Kan ik LoadDiagnostics lezen zelfs wanneer er geen reparatie is geprobeerd?

Ja. De Issues collectie zal leeg zijn en zowel HasRepairs als HasDataLossRisk zullen false teruggeven.

Zie ook

 Nederlands