Εργασία με τις ρυθμίσεις του Core Workbook
Εργασία με τις ρυθμίσεις του Core Workbook
Πέρα από το δίκτυο φύλλων εργασίας, ένα βιβλίο εργασίας φέρνει μεταδεδομένα και διαμόρφωση που επηρεάζουν τον τρόπο με τον οποίο το Excel ερμηνεύει: το σύστημα ημερομηνίας, ο συγγραφέας εγγράφων, η τοπική και αν αποθηκεύονται πληροφορίες ανάκτησης. Workbook Η τάξη εκθέτει αυτά μέσα από Workbook.Settings, Workbook.Properties,και Workbook.LoadDiagnostics.Η συμπεριφορά του σώματος ελέγχεται μέσω της SaveOptions.
Εισαγωγή Workbook Settings
Workbook.Settings Επιστρέφει ο Α WorkbookSettings Συσκευή - Set Date1904 Για να true για να χρησιμοποιήσετε το σύστημα ημερομηνίας 1904 (κοινό σε αρχεία που προέρχονται από macOS Excel). Culture Για το A CultureInfo Η ημερομηνία και ο αριθμός ελέγχου είναι τοπικοί.
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);Ιδιοκτησία εγγράφου
Workbook.Properties Επιστρέφει ο Α WorkbookProperties αντικείμενα με δείγματα που προσανατολίζονται σε προβολή, όπως ShowObjects και FilterPrivacy.Για τη χρήση των μεταδεδομένων και περιγραφικών δεδομένων Workbook.DocumentProperties,που εκθέτει Title, Subject, Author, Keywords, Comments, Category, Company,και Manager ως άμεσες ιδιότητες ίχνης.
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);Κατεβάστε τη διάγνωση
Μετά την ανάθεση ενός βιβλίου εργασίας, ελέγξτε Workbook.LoadDiagnostics Να ανακαλύψουμε αν η βιβλιοθήκη έχει κάνει κάποια επισκευή. LoadDiagnostics.HasRepairs Είναι true Εάν έχει γίνει τουλάχιστον μία δομική επισκευή. LoadDiagnostics.HasDataLossRisk Είναι true Αν η επισκευή των δεδομένων διαγράφεται.Iterate LoadDiagnostics.Issues Η πρόσβαση σε ατομικά DiagnosticEntry αντικείμενα με Code, Severity, Message, RepairApplied,και 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);
}Αποθηκεύστε τις επιλογές
Workbook.Save(path, SaveOptions) Αποδέχεται το A SaveOptions Να προσαρμόσουμε την εξοικονόμηση. UseSharedStrings ελέγχει εάν οι τιμές γραμμής αποθηκεύονται στο κοινό πίνακα γραμμάτων (συντομεύει το μέγεθος αρχείου για φύλλα με πολλές επαναλαμβανόμενες γραφές). ValidateBeforeSave Δουλεύει εσωτερική επικύρωση βιβλίου εργασίας πριν γράψει. CompactStyles Απομακρύνει τα αχρησιμοποίητα στυλ. PreserveRecoveryMetadata ελέγχει αν τα μεταδεδομένα αποκατάστασης του Office διατηρούνται.
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.");Συμβουλές και βέλτιστες πρακτικές
- Ελέγξτε
LoadDiagnostics.HasDataLossRiskμετά την φόρτωση επισκευάστηκε αρχεία και προειδοποιεί τους χρήστες εάν τα δεδομένα μπορεί να έχουν χαθεί. - ΣΕΤΙΔΑ
DocumentProperties.AuthorκαιCompanyγια αρχεία που μοιράζονται με τους τελικούς χρήστες — αυτά εμφανίζονται στο παράθυρο πληροφοριών αρχείων του Excel. UseSharedStrings = trueΕίναι ευεργετικό για φύλλα με πολλές επαναλαμβανόμενες τιμές στήλης (π.χ. στίχους κατάστασης) και έχει ελάχιστη επίδραση σε αριθμητικά βαριά φύλλια.Date1904πρέπει να ταιριάζει μεταξύ της πηγής και του αρχείου στόχου για να αποφευχθεί η ροή ημερομηνίας-αξία κατά την αντιγραφή των κυττάρων ανάμεσα στα βιβλία εργασίας.
κοινά ζητήματα
| Θέμα | Αιτία | ΦΙΛΕΞΗ |
|---|---|---|
LoadDiagnostics.Issues Είναι κενό μετά την επισκευή. | Δεν απαιτείται επισκευή ή TryRepair* Δεν έχει καθοριστεί | ΣΕΤΙΔΑ TryRepairPackage = true και TryRepairXml = true Σε LoadOptions |
DocumentProperties.Title Δεν επιμένει | Χρησιμοποιώντας WorkbookProperties Αντί να DocumentProperties | Μέσα από το μετεωρολογικό σύστημα μέσω Workbook.DocumentProperties,Οχι Workbook.Properties |
WorkbookSaveException Σωστάει | Η αποτυχία της επικύρωσης με ValidateBeforeSave = true | Ελέγξτε το μήνυμα εξαίρεσης, απενεργοποιήστε την επικύρωση για να απομονώσετε τα κακά δεδομένα |
FAQ
Ποια είναι η διαφορά μεταξύ WorkbookProperties και DocumentProperties?
WorkbookProperties (Περισσότερα από Workbook.Properties• Έχει δίσκους οθόνης OOXML (π.χ. ShowObjects). DocumentProperties (Περισσότερα από Workbook.DocumentProperties) κατέχει τις αλυσίδες μεταμένων στο στυλ του Δουβλίνο-Κόρου: τίτλο, συγγραφέας, εταιρεία κλπ.
Η ΚΕ CompactStyles Διαγράψτε τα στυλ που χρειάζομαι;?
CompactStyles αφαιρεί μόνο τα στυλ που δεν αναφέρονται από οποιοδήποτε κελί, υπό όρους μορφή ή ονομαστικό σήμα.
Μπορώ να διαβάσω LoadDiagnostics Ακόμα και όταν δεν δοκιμάστηκε επισκευή.?
Όταν δεν έγινε προσπάθεια επισκευής, η Issues Η συλλογή είναι κενή και οι δύο HasRepairs και HasDataLossRisk Επιστροφή false.
Συνοπτική αναφορά API
| Κλάση / Ιδιοκτησία | Περιγραφή |
|---|---|
Workbook.Settings | Επιστροφή WorkbookSettings |
WorkbookSettings.Date1904 | Χρησιμοποιήστε το σύστημα ημερομηνίας 1904 |
WorkbookSettings.Culture | Τοποθεσία για αριθμό/ημερομηνία παραχώρησης |
Workbook.DocumentProperties | Συγγραφέας, τίτλος, εταιρικά μεταδεδομένα |
Workbook.LoadDiagnostics | Έκθεση επισκευής μεταφόρτωσης |
LoadDiagnostics.HasRepairs | true Αν πραγματοποιηθεί επισκευή |
LoadDiagnostics.HasDataLossRisk | true Εάν επισκευάσετε τα διαγραφόμενα δεδομένα |
LoadDiagnostics.Issues | Η συλλογή των DiagnosticEntry αντικείμενα |
DiagnosticEntry.Code | Σύντομη επισκευή κώδικα string |
DiagnosticEntry.Severity | DiagnosticSeverity Αξία Enum |
DiagnosticEntry.Message | Ανθρώπινο-διαβαστό περιγραφή επισκευής |
SaveOptions.UseSharedStrings | Αποθηκεύστε τις γραμμές στο κοινό πίνακα γραμμάτων |
SaveOptions.ValidateBeforeSave | Δραστηριότητα εσωτερικής επικύρωσης πριν γράψετε |
SaveOptions.CompactStyles | Απομακρύνει τα αχρησιμοποίητα στυλ |