Lavorare con le impostazioni principali della cartella di lavoro

Lavorare con le impostazioni principali della cartella di lavoro

Lavorare con le impostazioni principali della cartella di lavoro

Oltre alla griglia di fogli, una cartella contiene metadati e configurazione che influenzano il modo in cui Excel lo interpreta: sistema di data, autore del documento, locale e se le informazioni di recupero sono memorizzate. Workbook La classe espone questi attraverso Workbook.Settings, Workbook.Properties, e Workbook.LoadDiagnostics.Il comportamento di salvataggio è controllato attraverso: SaveOptions.


Impostazioni della cartella di lavoro

Workbook.Settings restituisce un WorkbookSettings Oggetto. Date1904 a) per il true per utilizzare il sistema di data 1904 (comune nei file originari da macOS Excel). Set Culture a una CultureInfo Instanza per il controllo numero e data di analisi locale.

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

Proprietà del documento

Workbook.Properties restituisce un WorkbookProperties oggetti con segni orientati all’esposizione, quali: ShowObjects e di cui al punto 2 FilterPrivacy.Per l’autore e per l"uso dei metadati descrittivi. Workbook.DocumentProperties, che espone Title, Subject, Author, Keywords, Comments, Category, Company, e Manager come proprietà di stringa diretta.

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

Diagnostica del carico

Dopo aver caricato un foglio di lavoro, controllare Workbook.LoadDiagnostics Per scoprire se la biblioteca ha effettuato delle riparazioni. LoadDiagnostics.HasRepairs è: true se è stata effettuata almeno una riparazione strutturale. LoadDiagnostics.HasDataLossRisk è: true se una riparazione ha scartato i dati. Iterare LoadDiagnostics.Issues per accedere a singoli DiagnosticEntry oggetti con: Code, Severity, Message, RepairApplied, e 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);
}

Salva le opzioni

Workbook.Save(path, SaveOptions) accetta un SaveOptions obiettare di personalizzare l’uscita del salvataggio. UseSharedStrings controlla se i valori delle stringhe sono memorizzati nella tabella di stringh condivisa (riducendo la dimensione del file per fogli con molte stringhi ripetute). ValidateBeforeSave esegue la convalida interna della cartella di lavoro prima dell’iscrizione. CompactStyles rimuove gli stili non utilizzati. PreserveRecoveryMetadata controlla se i metadati di recupero dell’Office sono conservati.

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

Suggerimenti e migliori pratiche

  • Controllo LoadDiagnostics.HasDataLossRisk dopo il caricamento dei file riparati e avvertire gli utenti se i dati potrebbero essere caduti.
  • Set di dati DocumentProperties.Author e di cui al punto 2 Company per i file condivisi con gli utenti finali questi appaiono nel pannello informazioni sui file di Excel.
  • UseSharedStrings = true è utile per i fogli con molti valori di stringhe ripetuti (ad esempio colonne di stato); ha un impatto minimo sui foglio numerico.
  • Date1904 deve corrispondere tra il file sorgente e di destinazione per evitare la deriva del valore della data quando si copiano celle fra cartelle.

Problemi comuni

Numero di pubblicazioneCausa di morteRettifica
LoadDiagnostics.Issues è vuoto dopo la riparazione.Non sono state necessarie riparazioni o TryRepair* non è stato impostato.Set di dati TryRepairPackage = true e di cui al punto 2 TryRepairXml = true in LoadOptions
DocumentProperties.Title non persistenteUtilizzo di: WorkbookProperties invece di: DocumentPropertiesAccedere ai metadati della stringa tramite: Workbook.DocumentProperties, non Workbook.Properties
WorkbookSaveException a salvareMancato convalido di: ValidateBeforeSave = trueIspezionare il messaggio di eccezione; disabilitare la convalida per isolare i dati non validi

FAQ

Qual è la differenza tra: WorkbookProperties e di cui al punto 2 DocumentProperties?

WorkbookProperties (per mezzo di: Workbook.Properties) contiene flag di visualizzazione OOXML (ad es. ShowObjects). DocumentProperties (per mezzo di: Workbook.DocumentProperties) contiene le stringhe di metadati in stile Dublin-Core: Titolo, Autore, Impresa ecc.

- Sì. CompactStyles Cancellare gli stili di cui ho bisogno?

CompactStyles rimuove solo gli stili che non sono riferiti da alcuna cella, formato condizionale o stile nominato. Gli stile in uso non vengono mai rimossi.

Posso leggere ? LoadDiagnostics anche quando non si è tentato di ripararlo?

Quando non si è tentato alcuna riparazione, il… Issues la raccolta è vuota e entrambi HasRepairs e di cui al punto 2 HasDataLossRisk ritorno false.


Riassunto di riferimento API

Categoria / proprietàDescrizione
Workbook.SettingsRitorni WorkbookSettings
WorkbookSettings.Date1904Utilizzare il sistema di data 1904
WorkbookSettings.CultureLocale per l’analisi numero/data
Workbook.DocumentPropertiesAutore, titolo, metadati dell’azienda
Workbook.LoadDiagnosticsRapporto di riparazione dopo il carico
LoadDiagnostics.HasRepairstrue se è stata effettuata una riparazione.
LoadDiagnostics.HasDataLossRisktrue se ripara dati scartati
LoadDiagnostics.IssuesRaccolta di DiagnosticEntry oggetti di uso pubblico
DiagnosticEntry.CodeStringa di codice corta per la riparazione
DiagnosticEntry.SeverityDiagnosticSeverity valore di enum
DiagnosticEntry.MessageDescrizione della riparazione leggibile dall’uomo
SaveOptions.UseSharedStringsConservare stringhe in tabella di stringh condivise
SaveOptions.ValidateBeforeSaveEseguire la convalida interna prima di scrivere
SaveOptions.CompactStylesRimuovere gli stili non utilizzati
 Italiano