Come lavorare con le impostazioni principali della cartella di lavoro in .NET
Aspose.Cells FOSS per .NET espone la configurazione a livello di cartella di lavoro tramite Workbook.Settings (locale e sistema data), Workbook.DocumentProperties (metadati autore), Workbook.LoadDiagnostics (rapporto di riparazione) e SaveOptions (comportamento di salvataggio). Installa con dotnet add package Aspose.Cells_FOSS.
Guida passo passo
Passo 1: Installa il pacchetto
dotnet add package Aspose.Cells.FOSSPasso 2: Importa lo spazio dei nomi
using Aspose.Cells_FOSS;
using System.Globalization;Passo 3: Configura WorkbookSettings
Workbook.Settings restituisce un oggetto WorkbookSettings. Imposta Date1904 = true per i file di origine macOS che utilizzano il sistema di data 1904. Imposta Culture per controllare la lingua di analisi dei numeri e delle date.
using Aspose.Cells_FOSS;
using System.Globalization;
var wb = new Workbook();
wb.Settings.Date1904 = false;
wb.Settings.Culture = new CultureInfo("en-US");
wb.Worksheets[0].Cells["A1"].PutValue("Settings configured");
wb.Save("settings.xlsx");
var loaded = new Workbook("settings.xlsx");
Console.WriteLine("Date1904: " + loaded.Settings.Date1904);Passo 4: Imposta le proprietà del documento
Workbook.DocumentProperties espone Title, Subject, Author, Keywords, Comments, Category, Company e Manager come proprietà stringa dirette.
using Aspose.Cells_FOSS;
var wb = new Workbook();
wb.DocumentProperties.Title = "Quarterly Report";
wb.DocumentProperties.Author = "Reporting Team";
wb.DocumentProperties.Company = "Contoso Ltd";
wb.DocumentProperties.Keywords = "quarterly, sales, 2026";
wb.Save("properties.xlsx");
var loaded = new Workbook("properties.xlsx");
Console.WriteLine("Title: " + loaded.DocumentProperties.Title);
Console.WriteLine("Author: " + loaded.DocumentProperties.Author);Passo 5: Usa SaveOptions
Workbook.Save(path, SaveOptions) accetta un oggetto SaveOptions per personalizzare l’output. Proprietà chiave: UseSharedStrings (riduce la dimensione del file per fogli con stringhe ripetute), ValidateBeforeSave (esegue la convalida prima della scrittura) e CompactStyles (rimuove gli stili non utilizzati).
using Aspose.Cells_FOSS;
var wb = new Workbook();
var ws = wb.Worksheets[0];
for (var i = 0; i < 50; i++)
ws.Cells[i, 0].PutValue("Repeated text");
var opts = new SaveOptions
{
UseSharedStrings = true,
ValidateBeforeSave = true,
CompactStyles = true,
};
wb.Save("compact.xlsx", opts);
Console.WriteLine("Saved with SaveOptions.");Passo 6: Leggi LoadDiagnostics dopo la riparazione
Dopo il caricamento con TryRepairPackage = true, controlla Workbook.LoadDiagnostics per vedere se sono state applicate riparazioni.
using Aspose.Cells_FOSS;
var opts = new LoadOptions { TryRepairPackage = true, TryRepairXml = true };
var wb = new Workbook("file.xlsx", opts);
var diag = wb.LoadDiagnostics;
Console.WriteLine("HasRepairs: " + diag.HasRepairs);
Console.WriteLine("HasDataLossRisk: " + diag.HasDataLossRisk);
foreach (var entry in diag.Issues)
Console.WriteLine($" [{entry.Severity}] {entry.Code}: {entry.Message}");Problemi comuni e soluzioni
WorkbookSaveException when ValidateBeforeSave = true. Il workbook contiene un’incongruenza strutturale. Disabilita ValidateBeforeSave temporaneamente per salvare e ispezionare il file, quindi correggi il contenuto problematico.
Le proprietà del documento non sono visibili nel pannello Informazioni file di Excel. Assicurati di impostare le proprietà su Workbook.DocumentProperties, non Workbook.Properties. Quest’ultimo contiene flag di visualizzazione, non stringhe di metadati.
Date1904 = true causa lo spostamento dei valori di data. Date1904 cambia l’epoca usata per i numeri seriali delle date. Impostalo solo su true per i file che provengono da Excel su macOS con il sistema di data 1904 abilitato; mescolare i sistemi provoca errori di scarto di 1462 giorni.
Domande frequenti
Qual è la differenza tra WorkbookSettings e WorkbookProperties?
WorkbookSettings (tramite Workbook.Settings) contiene valori di configurazione come Date1904 e Culture. WorkbookProperties (tramite Workbook.Properties) contiene flag di visualizzazione OOXML come ShowObjects. Le stringhe di metadati del documento (Titolo, Autore, ecc.) si trovano in Workbook.DocumentProperties.
Il CompactStyles rimuove mai gli stili di cui ho bisogno?
No. CompactStyles rimuove solo gli stili che non sono riferiti da alcuna cella o regola di formattazione nella cartella di lavoro.
Posso leggere LoadDiagnostics anche quando non è stato tentato alcun ripristino?
Sì. La raccolta Issues sarà vuota e sia HasRepairs sia HasDataLossRisk restituiranno false.