Arbejde med kerneindstillinger i arbejdskæden

Arbejde med kerneindstillinger i arbejdskæden

Arbejde med kerneindstillinger i arbejdskæden

Ud over regnearksruten indeholder en arbejdsbog metadata og konfiguration, der påvirker hvordan Excel fortolker den: datosystemet, dokumentforfatteren, lokaliseringen og om gendannelsesoplysninger gemmes. Workbook klassen udsætter disse gennem Workbook.Settings, Workbook.Properties, og Workbook.LoadDiagnostics.- at sikre, at der er kontrol med opførsel via SaveOptions.


Indstillinger i arbejdskasse

Workbook.Settings returnerer en WorkbookSettings Objekt. Date1904 til true at bruge 1904 dattsystemet (almindeligt i filer fra macOS Excel). Set Culture til en CultureInfo Instans til kontrol nummer og dato parsering lokal.

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

Dokumentegenskaber

Workbook.Properties returnerer en WorkbookProperties objekt med visningsorienterede flag, f.eks. ShowObjects og: FilterPrivacy.For forfatterskab og brug af beskrivende metadata. Workbook.DocumentProperties, som afslører, at der er tale om en Title, Subject, Author, Keywords, Comments, Category, Company, og Manager som direkte strengeegenskaber.

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

Låddiagnostik

Efter at have indlæst en arbejdsbog, skal du kontrollere: Workbook.LoadDiagnostics for at finde ud af, om biblioteket har foretaget nogen reparationer. LoadDiagnostics.HasRepairs er: true hvis der er foretaget mindst én strukturreparation. LoadDiagnostics.HasDataLossRisk er: true Hvis en reparation udkastede data. Iterere LoadDiagnostics.Issues til at få adgang til individuelle DiagnosticEntry genstande med Code, Severity, Message, RepairApplied, og 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);
}

Optimering af opslag:

Workbook.Save(path, SaveOptions) accepterer en SaveOptions indsigelse mod at tilpasse opsparingsudgangen. UseSharedStrings kontrollerer, om strengeværdier gemmes i den delte stringtabel (reducerer filstørrelsen for ark med mange gentagne stringer). ValidateBeforeSave udfører intern validering af arbejdsbogen før skrivning. CompactStyles fjerner ubrugte stilarter. PreserveRecoveryMetadata kontrollerer, om metadata til Office-genoprettelse bevares.

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

Tips og bedste praksis

  • Kontrollering LoadDiagnostics.HasDataLossRisk efter indlæsning af reparerede filer og advarer brugerne, hvis der kan være tabt data.
  • Indstilling DocumentProperties.Author og: Company for filer, der deles med slutbrugere disse vises i Excel’s filinfo-paneel.
  • UseSharedStrings = true er gavnlig for ark med mange gentagne strengeværdier (f.eks. statuskolonner); den har minimal indvirkning på numerisk tunge ark.
  • Date1904 skal matche mellem kilde- og målfil for at undgå drift i datoværdien, når der kopieres celler mellem arbejdsbøger.

Almindelige problemer

Udgave:Årsagen til detteForklaret
LoadDiagnostics.Issues er tom efter reparationDer var ikke behov for reparationer eller TryRepair* ikke er indstilletIndstilling TryRepairPackage = true og: TryRepairXml = true i den LoadOptions
DocumentProperties.Title ikke vedvarendeAnvendelse af: WorkbookProperties i stedet for DocumentPropertiesTilgang til strenge metadata via Workbook.DocumentProperties, ikke Workbook.Properties
WorkbookSaveException på saveValideringsfejl med: ValidateBeforeSave = trueTjek undtagelsesmeddelelsen; deaktiver validering for at isolere dårlige data

FAQ

Hvad er forskellen mellem: WorkbookProperties og: DocumentProperties?

WorkbookProperties (via: Workbook.Properties) indeholder OOXML-displayflag (f.eks. ShowObjects). DocumentProperties (via: Workbook.DocumentProperties) indeholder metadatastringerne i Dublin-Core-stil: titel, forfatter, virksomhed osv.

- Ja. Det gør det. CompactStyles Slet stil, jeg har brug for?

CompactStyles fjerner kun stilarter, der ikke er refereret til af en celle, betinget format eller navngivet stil. Styler i brug fjernes aldrig.

Må jeg læse? LoadDiagnostics selv om ingen forsøg blev gjort?

Da ingen reparationer blev forsøgt, var det ikke muligt at få fat i den. Issues Samlingen er tom og begge dele er i en række. HasRepairs og: HasDataLossRisk tilbagevenden false.


API-referenceoversigt

Klasse / ejendomBeskrivelse:
Workbook.SettingsTilbagebetalinger WorkbookSettings
WorkbookSettings.Date1904Anvend 1904 dattsystem
WorkbookSettings.CultureLokal for nummer/dato-parsing
Workbook.DocumentPropertiesForfatter, titel, virksomhedsmetafgifter
Workbook.LoadDiagnosticsReparationsrapport efter lastning
LoadDiagnostics.HasRepairstrue hvis der er foretaget reparation
LoadDiagnostics.HasDataLossRisktrue hvis reparation afkastede data
LoadDiagnostics.IssuesSamling af: DiagnosticEntry genstande
DiagnosticEntry.CodeKort kodefortegnelse for reparation
DiagnosticEntry.SeverityDiagnosticSeverity enum værdi
DiagnosticEntry.MessageEn menneskeligt læsbar reparationsbeskrivelse
SaveOptions.UseSharedStringsOpbevar strenge i en delt stringtabell
SaveOptions.ValidateBeforeSaveKør intern validering før skrivning
SaveOptions.CompactStylesFjern ubrugte stilarter
 Dansk