Arbeta med Core Workbook Settings

Arbeta med Core Workbook Settings

Arbeta med Core Workbook Settings

Utöver arbetsbladen bär en arbetsbok metadata och konfiguration som påverkar hur Excel tolkar det: datumsystemet, dokumentförfattaren, lokal och om återhämtningsinformation lagras. Workbook Klassen visar dessa genom Workbook.Settings, Workbook.Properties,och Workbook.LoadDiagnostics.Save beteende kontrolleras genom SaveOptions.


Arbetsbok Settings

Workbook.Settings Återkommer A WorkbookSettings objektet Set Date1904 till true att använda 1904 datumsystemet (vanligt i filer som härrör från macOS Excel). Culture till A CultureInfo instans att kontrollera nummer och datum 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);

Dokumentegenskaper

Workbook.Properties Återkommer A WorkbookProperties objekt med displayorienterade flaggor som ShowObjects och FilterPrivacy.För författarskap och beskrivande metadata användning Workbook.DocumentProperties,som uttrycker Title, Subject, Author, Keywords, Comments, Category, Company,och Manager som direkt sträng egenskaper.

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

Ladda diagnostik

Efter att ha laddat upp en arbetsbok, kolla in Workbook.LoadDiagnostics För att ta reda på om biblioteket tillämpade några reparationer. LoadDiagnostics.HasRepairs är true Om minst en strukturell reparation har gjorts. LoadDiagnostics.HasDataLossRisk är true Om en reparation av borttappade data. iterate LoadDiagnostics.Issues Tillträde individuellt DiagnosticEntry Objekter med Code, Severity, Message, RepairApplied,och DataLossRisk.

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


---

### Spara alternativ

`Workbook.Save(path, SaveOptions)` accepterar A `SaveOptions` för att anpassa spara produktionen. `UseSharedStrings` Kontrollera om strängvärden lagras i den delade strängen (minskar filstorleken för ark med många upprepade trådar). `ValidateBeforeSave` kör intern arbetsbok validation innan du skriver. `CompactStyles` Ta bort oanvända stilar. `PreserveRecoveryMetadata` Kontrollera om Office-återvinningens metadata är bevarade.

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

Tips och bästa praxis

  • Check LoadDiagnostics.HasDataLossRisk efter laddning reparerade filer och varnar användare om data kan ha blivit borttappade.
  • Setade DocumentProperties.Author och Company för filer som delas med slutanvändare – dessa visas i Excel-filerinformationspanelen.
  • UseSharedStrings = true är fördelaktigt för blad med många upprepade strängvärden (t.ex. statuskolumner); det har minimal inverkan på numerisk-viktiga blad.
  • Date1904 måste matcha käll- och målfilen för att undvika datumvärde drift när kopiera celler mellan arbetsböcker.

Vanliga frågor

IssueCauseFixar
LoadDiagnostics.Issues är tom efter reparationInga reparationer behövs eller TryRepair* inte sattSetade TryRepairPackage = true och TryRepairXml = true i LoadOptions
DocumentProperties.Title inte persisteraUsing WorkbookProperties I stället för DocumentPropertiesTillgång till strängmetadata genom Workbook.DocumentProperties,inte Workbook.Properties
WorkbookSaveException på SaveValideringsfel med ValidateBeforeSave = trueKontrollera undantagsmeddelandet; inaktivera validering för att isolera dåliga data

FAQ

Vad är skillnaden mellan WorkbookProperties och DocumentProperties?

WorkbookProperties (via Workbook.Properties• har OOXML-displayflaggor (t.ex. ShowObjects). DocumentProperties (via Workbook.DocumentProperties) innehar de dublin-koreiska metadata strängarna: titel, författare, företag etc.

Does CompactStyles Ta bort stilar jag behöver?

CompactStyles tar bort endast stilar som inte hänvisas av någon cell, villkorlig format eller namngiven stil.

Kan jag läsa LoadDiagnostics Även om ingen reparation har försökt.?

När ingen reparation har försökt Issues Samlingen är tom och båda HasRepairs och HasDataLossRisk återvända false.


API Referens sammanfattning

Klass / FastighetBeskrivning
Workbook.Settingsåtervänder WorkbookSettings
WorkbookSettings.Date1904Använd 1904 datum system
WorkbookSettings.CultureLokala för nummer/datum parsing
Workbook.DocumentPropertiesFörfattare, titel, företagets metadata
Workbook.LoadDiagnosticsPost-load reparationsrapport
LoadDiagnostics.HasRepairstrue Om någon reparation har genomförts
LoadDiagnostics.HasDataLossRisktrue Om du reparerar borttappade data
LoadDiagnostics.IssuesSamlingen av DiagnosticEntry föremål
DiagnosticEntry.CodeKort reparation kod sträng
DiagnosticEntry.SeverityDiagnosticSeverity Enum värde
DiagnosticEntry.MessageMänskligt lästa reparations beskrivning
SaveOptions.UseSharedStringsHåll strängar i delad stringstabell
SaveOptions.ValidateBeforeSaveKör intern validering innan du skriver
SaveOptions.CompactStylesTa bort oanvända stilar

Se även

 Svenska