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 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_FOSS

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

Vedi anche

 Italiano