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.HasDataLossRiskefter indlæsning af reparerede filer og advarer brugerne, hvis der kan være tabt data. - Indstilling
DocumentProperties.Authorog:Companyfor filer, der deles med slutbrugere disse vises i Excel’s filinfo-paneel. UseSharedStrings = trueer gavnlig for ark med mange gentagne strengeværdier (f.eks. statuskolonner); den har minimal indvirkning på numerisk tunge ark.Date1904skal 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 dette | Forklaret |
|---|---|---|
LoadDiagnostics.Issues er tom efter reparation | Der var ikke behov for reparationer eller TryRepair* ikke er indstillet | Indstilling TryRepairPackage = true og: TryRepairXml = true i den LoadOptions |
DocumentProperties.Title ikke vedvarende | Anvendelse af: WorkbookProperties i stedet for DocumentProperties | Tilgang til strenge metadata via Workbook.DocumentProperties, ikke Workbook.Properties |
WorkbookSaveException på save | Valideringsfejl med: ValidateBeforeSave = true | Tjek 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 / ejendom | Beskrivelse: |
|---|---|
Workbook.Settings | Tilbagebetalinger WorkbookSettings |
WorkbookSettings.Date1904 | Anvend 1904 dattsystem |
WorkbookSettings.Culture | Lokal for nummer/dato-parsing |
Workbook.DocumentProperties | Forfatter, titel, virksomhedsmetafgifter |
Workbook.LoadDiagnostics | Reparationsrapport efter lastning |
LoadDiagnostics.HasRepairs | true hvis der er foretaget reparation |
LoadDiagnostics.HasDataLossRisk | true hvis reparation afkastede data |
LoadDiagnostics.Issues | Samling af: DiagnosticEntry genstande |
DiagnosticEntry.Code | Kort kodefortegnelse for reparation |
DiagnosticEntry.Severity | DiagnosticSeverity enum værdi |
DiagnosticEntry.Message | En menneskeligt læsbar reparationsbeskrivelse |
SaveOptions.UseSharedStrings | Opbevar strenge i en delt stringtabell |
SaveOptions.ValidateBeforeSave | Kør intern validering før skrivning |
SaveOptions.CompactStyles | Fjern ubrugte stilarter |