Mit Core Workbook Settings arbeiten

Mit Core Workbook Settings arbeiten

Mit Core Workbook Settings arbeiten

Über das Arbeitsblattnetz hinaus trägt ein Arbeitsbuch Metadaten und Konfigurationen, die beeinflussen, wie Excel es interpretiert: das Datumsystem, Dokumentauftragte, lokale und ob die Wiederherstellung von Informationen gespeichert wird. Workbook Die Klassen zeigen diese durch Workbook.Settings, Workbook.Properties,und Workbook.LoadDiagnostics.Save Verhalten wird durch SaveOptions.


Arbeitsbuch Settings

Workbook.Settings zurückkehren a WorkbookSettings Objekte - Set Date1904 zu true zum Einsatz des 1904 Date-Systems (verbreitet in Dateien, die aus macOS Excel hergestellt werden). Culture zu A CultureInfo Instanz zum Kontrollnummer und Datum Parsing local.

using Aspose.Cells_FOSS;
using System.Globalization;

var wb = new Workbook();

// Use 1904 date system
wb.Settings.Date1904 = true;

// Set culture for number/date formatting
wb.Settings.Culture = new CultureInfo("en-US");

wb.Worksheets[0].Cells["A1"].PutValue("Settings applied");
wb.Save("settings.xlsx");

var loaded = new Workbook("settings.xlsx");
Console.WriteLine("Date1904: " + loaded.Settings.Date1904);

Dokumenten Eigentum

Workbook.Properties zurückkehren a WorkbookProperties Objekte mit Displayorientierten Flaggen wie ShowObjects und FilterPrivacy.Für Autorität und Beschreibungsmetadata Workbook.DocumentProperties,Und die exponieren Title, Subject, Author, Keywords, Comments, Category, Company,und Manager als direkte String-Eigenschaften.

using Aspose.Cells_FOSS;

var wb = new Workbook();

var doc = wb.DocumentProperties;
doc.Title = "Quarterly Report";
doc.Subject = "Sales Data";
doc.Author = "Reporting Team";
doc.Company = "Contoso Ltd";
doc.Keywords = "sales, quarterly, 2026";
doc.Comments = "Generated by automated pipeline";

wb.Worksheets[0].Cells["A1"].PutValue("See document properties");
wb.Save("properties.xlsx");

var loaded = new Workbook("properties.xlsx");
Console.WriteLine("Title: " + loaded.DocumentProperties.Title);
Console.WriteLine("Author: " + loaded.DocumentProperties.Author);

Lade Diagnose

Nach dem Laden eines Arbeitsblattes, überprüfen Sie Workbook.LoadDiagnostics Um zu erfahren, ob die Bibliothek Reparaturen anwendet. LoadDiagnostics.HasRepairs ist true wenn mindestens eine Strukturreparation durchgeführt wurde. LoadDiagnostics.HasDataLossRisk ist true wenn eine Reparatur verlorene Daten. LoadDiagnostics.Issues Zugang individuell DiagnosticEntry Objekte mit Code, Severity, Message, RepairApplied,und DataLossRisk.

using Aspose.Cells_FOSS;

var opts = new LoadOptions { TryRepairPackage = true, TryRepairXml = true };

try
{
    var wb = new Workbook("possibly-corrupt.xlsx", opts);
    var diag = wb.LoadDiagnostics;

    if (diag.HasRepairs)
    {
        Console.WriteLine("Repairs applied: " + diag.HasRepairs);
        Console.WriteLine("Data loss risk: " + diag.HasDataLossRisk);
        foreach (var entry in diag.Issues)
        {
            Console.WriteLine($"  [{entry.Severity}] {entry.Code}: {entry.Message}");
            Console.WriteLine($"  RepairApplied={entry.RepairApplied}, DataLossRisk={entry.DataLossRisk}");
        }
    }
    else
    {
        Console.WriteLine("File loaded cleanly.");
    }
}
catch (WorkbookLoadException ex)
{
    Console.WriteLine("Unrecoverable: " + ex.Message);
}

Sparen Sie Optionen

Workbook.Save(path, SaveOptions) akzeptiert A SaveOptions Gegenstand der Anpassung des Sparprodukts. UseSharedStrings überprüft, ob Stringwerte in der gemeinsamen Stringtabelle gespeichert werden (der Dateigröße für Blätter mit vielen wiederholten Strängen reduziert). ValidateBeforeSave Durchführen Sie die interne Arbeitsbuch-Validation vor dem Schreiben. CompactStyles Entfernen Sie ungenutzte Stile. PreserveRecoveryMetadata Überprüfen Sie, ob Office-Erholungsmetadata gespeichert sind.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

for (var i = 0; i < 100; i++)
    ws.Cells[i, 0].PutValue("Repeated string value");

var opts = new SaveOptions
{
    UseSharedStrings = true,
    ValidateBeforeSave = true,
    CompactStyles = true,
    PreserveRecoveryMetadata = false,
};

wb.Save("compact.xlsx", opts);
Console.WriteLine("Saved with SaveOptions.");

Tipps und beste Praktiken

  • Check LoadDiagnostics.HasDataLossRisk nach der Lade von Reparaten und warnen die Benutzer, wenn die Daten gelöscht wurden.
  • Set DocumentProperties.Author und Company für Dateien, die mit Endbenutzern geteilt werden – diese erscheinen im Excel-Datei-Informationspaneel.
  • UseSharedStrings = true ist nützlich für Blätter mit vielen wiederholten Stringwerte (z. B. Statuskolonnen); es hat einen minimalen Einfluss auf numerisch schwere Blätter.
  • Date1904 muss zwischen der Quelle und der Zieldatei passen, um das Datum-Wert-Drift beim Kopieren von Zellen zwischen Arbeitsbüchern zu vermeiden.

Gemeinsame Probleme

ThemaUrsacheFix
LoadDiagnostics.Issues nach der Reparatur leerKeine Reparatur oder TryRepair* nicht eingestelltSet TryRepairPackage = true und TryRepairXml = true In LoadOptions
DocumentProperties.Title nicht beständigmit Gebrauch WorkbookProperties statt der DocumentPropertiesZugang zu String Metadata durch Workbook.DocumentProperties,nicht Workbook.Properties
WorkbookSaveException auf SaveValidierungsschwierigkeiten mit ValidateBeforeSave = trueÜberprüfen Sie die Ausnahmenachricht; die Validierung nicht aktiviert, um die schlechten Daten zu isolieren

FAQ

Was ist der Unterschied zwischen WorkbookProperties und DocumentProperties?

WorkbookProperties (via Workbook.Properties* OOXML-Demonstrationsflaggen (z. B. ShowObjects). DocumentProperties (via Workbook.DocumentProperties) hält die Dublin-Kore-Stil-Metadatenstreifen: Titel, Autor, Gesellschaft usw.

Das macht CompactStyles Styles zu löschen, die ich benötige?

CompactStyles Entfernt nur Stile, die nicht durch eine Zelle, ein Bedingungsformat oder ein benanntes Stil bezeichnet werden.

kann ich lesen LoadDiagnostics Auch wenn keine Reparatur versucht wurde.?

Wenn keine Reparatur versucht wurde, Issues Die Sammlung ist leer und beide HasRepairs und HasDataLossRisk Rückkehr false.


API Referenzabschnitt

Klasse / EigentumBeschreibung
Workbook.SettingsRückkehr WorkbookSettings
WorkbookSettings.Date19041904 Date System verwenden
WorkbookSettings.CultureLokale für die Nummer/Datumsparsing
Workbook.DocumentPropertiesAutor, Titel, Unternehmensmetadata
Workbook.LoadDiagnosticsPost-Lad Reparaturbericht
LoadDiagnostics.HasRepairstrue wenn eine Reparatur durchgeführt wurde
LoadDiagnostics.HasDataLossRisktrue wenn die verlorenen Daten repariert werden
LoadDiagnostics.IssuesDie Sammlung von DiagnosticEntry Objekte
DiagnosticEntry.CodeKurzreparation Code String
DiagnosticEntry.SeverityDiagnosticSeverity Enum Wert
DiagnosticEntry.MessageMenschlich-lesbare Reparaturbeschreibung
SaveOptions.UseSharedStringsSpeichern Sie Strings in der gemeinsamen String-Tabelle
SaveOptions.ValidateBeforeSaveDurchführen Sie die interne Validation vor dem Schreiben
SaveOptions.CompactStylesUngenutzte Stile entfernen
 Deutsch