Come lavorare con le impostazioni principali della cartella di lavoro in .NET

Come lavorare con le impostazioni principali della cartella di lavoro in .NET

Aspose.Cells FOSS per .NET espone la configurazione a livello di workbook tramite Workbook.Settings (locale e sistema data), Workbook.DocumentProperties (metadati autore), Workbook.LoadDiagnostics (rapporto di riparazione) e SaveOptions (comportamento di salvataggio). Installa con un singolo comando dotnet add package.

Guida passo passo

Passo 1: Installa il pacchetto

dotnet add package Aspose.Cells.FOSS

Passo 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 originati da macOS che usano il sistema di data 1904. Imposta Culture per controllare la localizzazione di parsing 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 le dimensioni del file per 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 aver caricato con TryRepairPackage = true, verifica 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. La cartella di lavoro contiene un’incoerenza strutturale. Disabilita ValidateBeforeSave temporaneamente per salvare e ispezionare il file, quindi correggi il contenuto problematico.

Proprietà del documento non 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 1462 giorni.

Domande frequenti

Qual è la differenza tra WorkbookSettings e WorkbookProperties?

WorkbookSettings (via Workbook.Settings) contiene valori di configurazione come Date1904 e Culture. WorkbookProperties (via Workbook.Properties) contiene flag di visualizzazione OOXML come ShowObjects. Le stringhe di metadati del documento (Titolo, Autore, ecc.) risiedono in Workbook.DocumentProperties.

Il 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.

Vedi anche

 Italiano