Lucrarea cu setările de bază ale caietului de lucru
Lucrarea cu setările de bază ale caietului de lucru
Dincolo de rețeaua fișei de lucru, o carte de muncă conține metadate și configurație care afectează modul în care Excel îl interpretează: sistemul de date, autorul documentului, localizarea și dacă sunt stocate informațiile de recuperare. Workbook clasa expune aceste prin Workbook.Settings, Workbook.Properties, și Workbook.LoadDiagnostics.Comportamentul de salvare este controlat prin intermediul SaveOptions.
Setări de carte de lucru
Workbook.Settings returnează un WorkbookSettings Obiectul. Date1904 la … în true pentru a folosi sistemul de date 1904 (comun în fișierele provenite din macOS Excel). Set Culture la o CultureInfo Instanță pentru a controla numărul și data de parsing local.
using Aspose.Cells_FOSS;
using System.Globalization;
var wb = new Workbook();
// Use 1904 date system
wb.Settings.Date1904 = true;
// Set culture for number/date formatting
wb.Settings.Culture = new CultureInfo("en-US");
wb.Worksheets[0].Cells["A1"].PutValue("Settings applied");
wb.Save("settings.xlsx");
var loaded = new Workbook("settings.xlsx");
Console.WriteLine("Date1904: " + loaded.Settings.Date1904);Proprietăți ale documentului
Workbook.Properties returnează un WorkbookProperties obiect cu semne orientate spre afișare, cum ar fi: ShowObjects și de: FilterPrivacy.Pentru autorul și utilizarea metadatelor descriptive. Workbook.DocumentProperties, care expune Title, Subject, Author, Keywords, Comments, Category, Company, și Manager ca proprietăți de șir direct.
using Aspose.Cells_FOSS;
var wb = new Workbook();
var doc = wb.DocumentProperties;
doc.Title = "Quarterly Report";
doc.Subject = "Sales Data";
doc.Author = "Reporting Team";
doc.Company = "Contoso Ltd";
doc.Keywords = "sales, quarterly, 2026";
doc.Comments = "Generated by automated pipeline";
wb.Worksheets[0].Cells["A1"].PutValue("See document properties");
wb.Save("properties.xlsx");
var loaded = new Workbook("properties.xlsx");
Console.WriteLine("Title: " + loaded.DocumentProperties.Title);
Console.WriteLine("Author: " + loaded.DocumentProperties.Author);Diagnosticarea sarcinii
După încărcarea unei cărţi de lucru, verificați: Workbook.LoadDiagnostics să afle dacă biblioteca a aplicat reparaţii. LoadDiagnostics.HasRepairs este: true dacă a fost efectuată cel puțin o reparație structurală. LoadDiagnostics.HasDataLossRisk este: true Dacă o reparație a eliminat datele. Iterate LoadDiagnostics.Issues pentru a accesa individual DiagnosticEntry obiecte cu: Code, Severity, Message, RepairApplied, și DataLossRisk.
using Aspose.Cells_FOSS;
var opts = new LoadOptions { TryRepairPackage = true, TryRepairXml = true };
try
{
var wb = new Workbook("possibly-corrupt.xlsx", opts);
var diag = wb.LoadDiagnostics;
if (diag.HasRepairs)
{
Console.WriteLine("Repairs applied: " + diag.HasRepairs);
Console.WriteLine("Data loss risk: " + diag.HasDataLossRisk);
foreach (var entry in diag.Issues)
{
Console.WriteLine($" [{entry.Severity}] {entry.Code}: {entry.Message}");
Console.WriteLine($" RepairApplied={entry.RepairApplied}, DataLossRisk={entry.DataLossRisk}");
}
}
else
{
Console.WriteLine("File loaded cleanly.");
}
}
catch (WorkbookLoadException ex)
{
Console.WriteLine("Unrecoverable: " + ex.Message);
}Salvare Opțiuni
Workbook.Save(path, SaveOptions) acceptă o SaveOptions obiectul de a personaliza rezultatul salvării. UseSharedStrings controlează dacă valorile de șir sunt stocate în tabelul de şir partajat (reducă dimensiunea fișierului pentru foi cu multe șiri repetate). ValidateBeforeSave execută validarea internă a caietului de lucru înainte de scriere. CompactStyles elimină stilurile neutilizate. PreserveRecoveryMetadata verifică dacă metadatele de recuperare Office sunt păstrate.
using Aspose.Cells_FOSS;
var wb = new Workbook();
var ws = wb.Worksheets[0];
for (var i = 0; i < 100; i++)
ws.Cells[i, 0].PutValue("Repeated string value");
var opts = new SaveOptions
{
UseSharedStrings = true,
ValidateBeforeSave = true,
CompactStyles = true,
PreserveRecoveryMetadata = false,
};
wb.Save("compact.xlsx", opts);
Console.WriteLine("Saved with SaveOptions.");Sfaturi şi cele mai bune practici
- Verifică.
LoadDiagnostics.HasDataLossRiskdupă încărcarea fișierelor reparate și avertizează utilizatorii dacă datele ar putea fi scăpate. - Setare
DocumentProperties.Authorși de:Companypentru fișierele partajate cu utilizatorii finali acestea apar în panoul de informații despre fișe ale Excel. UseSharedStrings = trueeste benefic pentru fișele cu multe valori repetate ale șirului (de exemplu coloanele de stare); are un impact minim asupra fişelor cu o cantitate mare de date.Date1904trebuie să se potrivească între fișierul sursă și cel țintă pentru a evita drift-ul datelor atunci când copiați celule între cărțile de lucru.
Probleme comune
| Numărul de date | Cauza | Fixare |
|---|---|---|
LoadDiagnostics.Issues este goală după reparație. | Nu au fost necesare reparaţii sau… TryRepair* nu a fost setată. | Setare TryRepairPackage = true și de: TryRepairXml = true în LoadOptions |
DocumentProperties.Title nu persistă. | Utilizarea: WorkbookProperties în loc de: DocumentProperties | Acces la metadatele din șir prin: Workbook.DocumentProperties, nu . Workbook.Properties |
WorkbookSaveException pe salvare | Eșecul de validare cu: ValidateBeforeSave = true | Verificați mesajul de excepție; dezactivați validarea pentru a izola datele defecte |
FAQ
Care este diferenţa între: WorkbookProperties și de: DocumentProperties?
WorkbookProperties (prin intermediul Workbook.Properties) conține semne de afișare OOXML (de exemplu,. ShowObjects). DocumentProperties (prin intermediul Workbook.DocumentProperties) conține șirurile de metadate în stil Dublin-Core: titlu, autor, companie etc.
- Da. Nu, nu e aşa. CompactStyles Eliminarea stilurilor de care am nevoie?
CompactStyles elimină doar stilurile care nu sunt referite de nicio celulă, format condiționat sau un stil numit. Stiluri în uz nu se eliminã niciodată.
Pot să citesc ? LoadDiagnostics Chiar dacă nu s-a încercat repararea?
Da, când nu s-a încercat repararea… Issues colectia este goala si ambele HasRepairs și de: HasDataLossRisk returnare false.
Rezultatele de la data aplicării.
| Clasa / proprietate | Descriere: |
|---|---|
Workbook.Settings | Retoururi WorkbookSettings |
WorkbookSettings.Date1904 | Utilizați sistemul de date 1904 |
WorkbookSettings.Culture | Locale pentru analiza numărului/datei |
Workbook.DocumentProperties | Autor, titlu, metadate ale societății |
Workbook.LoadDiagnostics | Raport de reparație după încărcare |
LoadDiagnostics.HasRepairs | true dacă s-a efectuat reparații. |
LoadDiagnostics.HasDataLossRisk | true dacă repara datele aruncate |
LoadDiagnostics.Issues | Colectare de: DiagnosticEntry obiectele |
DiagnosticEntry.Code | Sârmă scurtă de cod pentru reparare |
DiagnosticEntry.Severity | DiagnosticSeverity valoare enum |
DiagnosticEntry.Message | Descriere a reparației ușor de citit de om |
SaveOptions.UseSharedStrings | Stochează șiruri în tabelul de șire partajat |
SaveOptions.ValidateBeforeSave | Executarea validării interne înainte de a scrie |
SaveOptions.CompactStyles | Îndepărta stilurile neutilizate |