So arbeiten Sie mit Core Workbook Settings in .NET

So arbeiten Sie mit Core Workbook Settings in .NET

Aspose.Cells FOSS für .NET stellt Konfigurationen auf Arbeitsmappen-Ebene bereit über Workbook.Settings (Locale und Datumssystem), Workbook.DocumentProperties (Autor-Metadaten), Workbook.LoadDiagnostics (Reparaturbericht) und SaveOptions (Speicherverhalten). Installation mit dotnet add package Aspose.Cells_FOSS.

Schritt-für-Schritt-Anleitung

Schritt 1: Paket installieren

dotnet add package Aspose.Cells.FOSS

Schritt 2: Namespace importieren

using Aspose.Cells_FOSS;
using System.Globalization;

Schritt 3: WorkbookSettings konfigurieren

Workbook.Settings gibt ein WorkbookSettings-Objekt zurück. Setzen Sie Date1904 = true für macOS-hergestellte Dateien, die das 1904-Datumsystem verwenden. Setzen Sie Culture, um das Gebietsschema für Zahlen- und Datum-Parsing zu steuern.

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

Schritt 4: Dokumenteigenschaften festlegen

Workbook.DocumentProperties stellt Title, Subject, Author, Keywords, Comments, Category, Company und Manager als direkte String-Eigenschaften bereit.

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

Schritt 5: SaveOptions verwenden

Workbook.Save(path, SaveOptions) akzeptiert ein SaveOptions-Objekt, um die Ausgabe anzupassen. Wichtige Eigenschaften: UseSharedStrings (verringert die Dateigröße bei Tabellen mit wiederholten Zeichenketten), ValidateBeforeSave (führt vor dem Schreiben eine Validierung durch) und CompactStyles (entfernt ungenutzte Stile).

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

Schritt 6: LoadDiagnostics nach Reparatur lesen

Nach dem Laden mit TryRepairPackage = true prüfen Sie Workbook.LoadDiagnostics, um zu sehen, ob Reparaturen durchgeführt wurden.

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

Häufige Probleme und Lösungen

WorkbookSaveException when ValidateBeforeSave = true. Die Arbeitsmappe enthält eine strukturelle Inkonsistenz. Deaktivieren ValidateBeforeSave vorübergehend, um die Datei zu speichern und zu prüfen, dann den problematischen Inhalt zu beheben.

Dokumenteigenschaften nicht im Datei-Info-Panel von Excel sichtbar. Stellen Sie sicher, dass Sie Eigenschaften setzen auf Workbook.DocumentProperties, nicht Workbook.Properties. Letzteres enthält Anzeige-Flags, nicht Metadaten-Zeichenketten.

Date1904 = true verursacht eine Verschiebung von Datumswerten. Date1904 ändert die für Datums-Serialnummern verwendete Epoche. Setzen Sie es nur auf true für Dateien, die aus macOS Excel mit aktiviertem 1904-Datumsystem stammen; das Mischen von Systemen führt zu Fehlern von 1462 Tagen.

Häufig gestellte Fragen

Was ist der Unterschied zwischen WorkbookSettings und WorkbookProperties?

WorkbookSettings (via Workbook.Settings) enthält Konfigurationswerte wie Date1904 und Culture. WorkbookProperties (via Workbook.Properties) enthält OOXML-Anzeige-Flags wie ShowObjects. Dokumenten-Metadaten-Zeichenketten (Titel, Autor usw.) befinden sich in Workbook.DocumentProperties.

Entfernt CompactStyles jemals Stile, die ich benötige?

Nein. CompactStyles entfernt nur Stile, die von keiner Zelle oder Formatregel in der Arbeitsmappe referenziert werden.

Kann ich LoadDiagnostics lesen, selbst wenn keine Reparatur versucht wurde?

Ja. Die Issues-Sammlung wird leer sein und sowohl HasRepairs als auch HasDataLossRisk geben false zurück.

Siehe auch

 Deutsch