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_FOSSStap 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.