Cum să lucrați cu setările de bază ale registrului de lucru în .NET

Cum să lucrați cu setările de bază ale registrului de lucru în .NET

Aspose.Cells FOSS pentru .NET expune configurarea la nivel de registru prin Workbook.Settings (locale și sistemul de date), Workbook.DocumentProperties (metadatele autorului), Workbook.LoadDiagnostics (raport de reparare) și SaveOptions (comportament la salvare). Instalați cu o singură comandă dotnet add package.

Ghid pas cu pas

Pasul 1: Instalați pachetul

dotnet add package Aspose.Cells.FOSS

Pasul 2: Importați spațiul de nume

using Aspose.Cells_FOSS;
using System.Globalization;

Pasul 3: Configurați WorkbookSettings

Workbook.Settings returnează un obiect WorkbookSettings. Setează Date1904 = true pentru fișierele de origine macOS care utilizează sistemul de dată 1904. Setează Culture pentru a controla localele de analiză a numerelor și a datelor.

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

Pasul 4: Setează proprietățile documentului

Workbook.DocumentProperties expune Title, Subject, Author, Keywords, Comments, Category, Company și Manager ca proprietăți de tip șir directe.

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

Pasul 5: Folosește SaveOptions

Workbook.Save(path, SaveOptions) acceptă un obiect SaveOptions pentru a personaliza ieșirea. Proprietăți cheie: UseSharedStrings (reduce dimensiunea fișierului pentru foi cu șiruri repetitive), ValidateBeforeSave (execută validarea înainte de scriere) și CompactStyles (elimină stilurile neutilizate).

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

Pasul 6: Citește LoadDiagnostics după reparare

După încărcarea cu TryRepairPackage = true, verifică Workbook.LoadDiagnostics pentru a vedea dacă au fost aplicate reparații.

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

Probleme comune și remedii

WorkbookSaveException when ValidateBeforeSave = true. Registrul de lucru conține o inconsecvență structurală. Dezactivează ValidateBeforeSave temporar pentru a salva și inspecta fișierul, apoi repară conținutul problematic.

Proprietățile documentului nu sunt vizibile în panoul Informații fișier din Excel. Asigură-te că setezi proprietățile pe Workbook.DocumentProperties, nu pe Workbook.Properties. Aceasta din urmă conține flag-uri de afișare, nu șiruri de metadate.

Date1904 = true provoacă deplasarea valorilor de dată. Date1904 schimbă epoca utilizată pentru numerele seriale de dată. Seteaz-o numai la true pentru fișierele care provin din Excel pe macOS cu sistemul de dată 1904 activat; combinarea sistemelor cauzează erori de 1462 de zile.

Întrebări frecvente

Care este diferența dintre WorkbookSettings și WorkbookProperties?

WorkbookSettings (prin Workbook.Settings) conține valori de configurare precum Date1904 și Culture. WorkbookProperties (prin Workbook.Properties) conține semnalizări de afișare OOXML cum ar fi ShowObjects. Șirurile de metadate ale documentului (Titlu, Autor etc.) se află în Workbook.DocumentProperties.

Înlătură CompactStyles vreodată stilurile de care am nevoie?

Nu. CompactStyles elimină doar stilurile care nu sunt referențiate de nici o celulă sau regulă de format în registrul de lucru.

Pot să citesc LoadDiagnostics chiar și când nu s-a încercat nicio reparare?

Da. Colecția Issues va fi goală și atât HasRepairs, cât și HasDataLossRisk vor returna false.

Vezi și:

 Română