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 di data), Workbook.DocumentProperties (metadati dell’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 il Namespace
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 il locale di analisi di numeri e 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 i fogli con stringhe ripetute), ValidateBeforeSave (esegue la convalida prima della scrittura) e CompactStyles (rimuove gli stili inutilizzati).
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 quando ValidateBeforeSave = true.
Il workbook contiene un’incoerenza strutturale. Disattiva 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 su 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. Impostala su true solo per i file che provengono da Excel macOS con il sistema di data 1904 abilitato; mescolare i sistemi provoca errori 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.
CompactStyles rimuove mai gli stili di cui ho bisogno?
No. CompactStyles rimuove solo gli stili che non sono referenziati da alcuna cella o regola di formattazione nella cartella di lavoro.
Posso leggere LoadDiagnostics anche quando non è stato tentato alcun ripristino?
Sì. La collezione Issues sarà vuota e sia HasRepairs che HasDataLossRisk restituiranno false.