Treballar amb la configuració de l'ordinador principal
Treballar amb la configuració de l’ordinador principal
Més enllà de la xarxa d’hexetes, un llibre porta metadades i configuració que afecten com Excel l’interpreta: el sistema de dates, autor del document, localització i si es guarda informació de recuperació. Workbook classe exposa aquests a través de Workbook.Settings, Workbook.Properties, i Workbook.LoadDiagnostics.El comportament de l’estalvi es controla a través del sistema d’alerta. SaveOptions.
Ajustaments del llibre de treball
Workbook.Settings retorna un WorkbookSettings object. Set Date1904 a la true per utilitzar el sistema de data 1904 (común en arxius originaris d’Excel). Set Culture a una CultureInfo instància per controlar el nombre i la data de l’anàlisi 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);Propietats del document
Workbook.Properties retorna un WorkbookProperties objecte amb banderes orientades a la visualització com ara: ShowObjects i de la FilterPrivacy.Per a l’autor i per a la utilització de metadades descriptives. Workbook.DocumentProperties, que exposa Title, Subject, Author, Keywords, Comments, Category, Company, i Manager com a propietats directes de cadena.
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);Diagnòstic de càrrega
Després de carregar un llibre, comprova Workbook.LoadDiagnostics per descobrir si la biblioteca va aplicar alguna reparació. LoadDiagnostics.HasRepairs és true si s’ha fet almenys una reparació estructural. LoadDiagnostics.HasDataLossRisk és true si una reparació descarta dades. Iterar LoadDiagnostics.Issues per accedir a la informació individual. DiagnosticEntry objectes amb: Code, Severity, Message, RepairApplied, i 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);
}Salvar opcions
Workbook.Save(path, SaveOptions) accepta una SaveOptions Objectes a personalitzar la sortida de salvament. UseSharedStrings controla si els valors de cadena s’emmagatzemen en la taula de cadenes compartides (redueix el mida del fitxer per a les fulles amb moltes cadenas repetides). ValidateBeforeSave executar la validació interna del llibre de treball abans d’escriure. CompactStyles elimina els estils no utilitzats. PreserveRecoveryMetadata controla si es conserven metadades de recuperació d’Office.
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.");Consells i millors pràctiques
- Compte de pagament
LoadDiagnostics.HasDataLossRiskdesprés de carregar els arxius reparats i advertir als usuaris si es poden haver perdut dades. - Set de punts
DocumentProperties.Authori de laCompanyper als arxius compartits amb els usuaris finals aquests apareixen en el panell d’informació de fitxers d"Excel. UseSharedStrings = trueés beneficiosa per a follos amb molts valors de cadena repetits (per exemple columnes d’estat); té un impacte mínim en les folls pesades numèricament.Date1904ha de coincidir entre el fitxer font i destinació per evitar la deriva del valor de data quan es copien cèl·lules entre quadres.
Problemàtiques comuns
| Edició | Causa | Correcció |
|---|---|---|
LoadDiagnostics.Issues està buida després de la reparació. | No es necessiten reparacions o TryRepair* no estava establert. | Set de punts TryRepairPackage = true i de la TryRepairXml = true en el LoadOptions |
DocumentProperties.Title no persistents | Utilització de: WorkbookProperties en lloc de: DocumentProperties | Accedir a metadades de cadena mitjançant: Workbook.DocumentProperties, no Workbook.Properties |
WorkbookSaveException en salvament | Fallida de validació amb: ValidateBeforeSave = true | Inspeccionar el missatge d’excepció; desactivar la validació per a aïllar les dades no correctes. |
FAQ
Quina és la diferència entre WorkbookProperties i de la DocumentProperties?
WorkbookProperties (via Workbook.Properties) conté les banderes d’exhibició OOXML (per exemple,. ShowObjects). DocumentProperties (via Workbook.DocumentProperties) conté les cadenes de metadades d’estil Dublin-Core: Títol, Autor, Empresa, etc.
És així. CompactStyles Eliminar els estils que necessito?
CompactStyles elimina només els estils que no estan referenciats per cap cèl·lula, format condicional o estil anomenat. Els esllans en ús mai s’eliminen.
Puc llegir-te? LoadDiagnostics fins i tot quan no es va intentar reparar?
Sí. Quan no es va intentar la reparació de l’obra, el doctor va fer-ho. Issues la col·lecció està buida i ambdues HasRepairs i de la HasDataLossRisk retorn false.
Resum de referència d’API
| Classe / propietat | Descripció |
|---|---|
Workbook.Settings | Retorns WorkbookSettings |
WorkbookSettings.Date1904 | Utilitzar el sistema de data 1904 |
WorkbookSettings.Culture | Local per a l’anàlisi de números/data |
Workbook.DocumentProperties | Autor, títol i metadades de l’empresa |
Workbook.LoadDiagnostics | Informe de reparació després de la càrrega. |
LoadDiagnostics.HasRepairs | true si s’ha aplicat alguna reparació. |
LoadDiagnostics.HasDataLossRisk | true si es reparen dades descartades |
LoadDiagnostics.Issues | Recopilació de DiagnosticEntry objectes |
DiagnosticEntry.Code | Cadenes de codi curta per a reparació |
DiagnosticEntry.Severity | DiagnosticSeverity valor enum |
DiagnosticEntry.Message | Descripció de la reparació legible per l’ésser humà. |
SaveOptions.UseSharedStrings | Emmagatzemar cadenes en una taula de cadenas compartida |
SaveOptions.ValidateBeforeSave | Executar la validació interna abans d’escriure |
SaveOptions.CompactStyles | Eliminar els estils no utilitzats |