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 de lucru prin Workbook.Settings (locale și sistem de date), Workbook.DocumentProperties (metadate autor), Workbook.LoadDiagnostics (raport de reparare) și SaveOptions (comportament de salvare). Instalați cu dotnet add package Aspose.Cells_FOSS.

Ghid pas cu pas

Pasul 1: Instalați pachetul

dotnet add package Aspose.Cells_FOSS

Pasul 2: Importă spațiul de nume

using Aspose.Cells_FOSS;
using System.Globalization;

Pasul 3: Configurează WorkbookSettings

Workbook.Settings returnează un obiect WorkbookSettings. Setează Date1904 = true pentru fișierele provenite din 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: Setați 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: Utilizați 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 repetate), ValidateBeforeSave (rulează 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, verificați 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 soluții

WorkbookSaveException când 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.
Asigurați-vă că setați proprietățile pe Workbook.DocumentProperties, nu pe Workbook.Properties. Ultimul conține steaguri de afișare, nu șiruri de metadate.

Date1904 = true cauzează deplasarea valorilor de dată.
Date1904 schimbă epoca utilizată pentru numerele seriale de dată. Seteaz‑o la true numai pentru fișierele care au provenit din Excel pe macOS cu sistemul de date 1904 activat; amestecarea 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 flaguri 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 atunci 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ă