Wie man mit Core Workbook Settings in .NET arbeitet

Wie man mit Core Workbook Settings in .NET arbeitet

Aspose.Cells FOSS für .NET stellt die arbeitsmappenbezogene Konfiguration über Workbook.Settings (Locale und Datumsystem), Workbook.DocumentProperties (Autor‑Metadaten), Workbook.LoadDiagnostics (Reparaturbericht) und SaveOptions (Speicherverhalten) bereit. Installieren Sie 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‑Datumssystem verwenden. Setzen Sie Culture, um das Gebietsschema für Zahlen‑ und Datumsparsing 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 auslesen

Nach dem Laden mit TryRepairPackage = true, prüfen Sie Workbook.LoadDiagnostics, um zu sehen, ob Reparaturen angewendet 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 wenn ValidateBeforeSave = true.
Die Arbeitsmappe enthält eine strukturelle Inkonsistenz. Deaktivieren Sie ValidateBeforeSave vorübergehend, um die Datei zu speichern und zu prüfen, und beheben Sie anschließend den problematischen Inhalt.

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

Date1904 = true verursacht Verschiebungen von Datumswerten.
Date1904 ändert die für Datums-Seriennummern 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-Anzeigeflaggen wie ShowObjects. Dokumenten‑Metadatenzeichenketten (Titel, Autor usw.) befinden sich in Workbook.DocumentProperties.

Entfernt CompactStyles jemals Stile, die ich brauche?

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 werden false zurückgeben.

Siehe auch

 Deutsch