Hoe te werken met Core Workbook Settings in .NET

Hoe te werken met Core Workbook Settings in .NET

Aspose.Cells FOSS voor .NET biedt werkboek-niveau configuratie via Workbook.Settings (locale en datum systeem), Workbook.DocumentProperties (auteurmetadata), Workbook.LoadDiagnostics (reparatierapport) en SaveOptions (opslaatgewoonte). Installeer met een enkele dotnet add package opdracht.

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-datasysteem 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 maakt Title, Subject, Author, Keywords, Comments, Category, Company en Manager beschikbaar 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 output aan te passen. Belangrijke eigenschappen: UseSharedStrings (verkleint de bestandsgrootte voor bladen met herhaalde strings), 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 when ValidateBeforeSave = true. De werkmap bevat een structurele inconsistentie. Schakel uit ValidateBeforeSave tijdelijk om het bestand op te slaan en te inspecteren, en vervolgens de problematische inhoud te corrigeren.

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

Date1904 = true veroorzaakt dat datumwaarden verschuiven. Date1904 wijzigt de epoch die wordt gebruikt voor datum-serienummers. Stel het alleen in op true voor bestanden die afkomstig zijn van macOS Excel met het 1904-datumsysteem ingeschakeld; het combineren 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-weergave-vlaggen zoals ShowObjects. Document-metagegevens-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 verwezen 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 retourneren.

Zie ook

 Nederlands