Πώς να εργαστείτε με τις Core Workbook Settings στο .NET

Πώς να εργαστείτε με τις Core Workbook Settings στο .NET

Το Aspose.Cells FOSS για .NET εκθέτει τη διαμόρφωση σε επίπεδο βιβλίου εργασίας μέσω Workbook.Settings (τοπική ρύθμιση και σύστημα ημερομηνίας), Workbook.DocumentProperties (μεταδεδομένα συγγραφέα), Workbook.LoadDiagnostics (αναφορά επισκευής) και SaveOptions (συμπεριφορά αποθήκευσης). Εγκαταστήστε με dotnet add package Aspose.Cells_FOSS.

Οδηγός βήμα-βήμα

Βήμα 1: Εγκατάσταση του πακέτου

dotnet add package Aspose.Cells_FOSS

Βήμα 2: Εισαγωγή του χώρου ονομάτων

using Aspose.Cells_FOSS;
using System.Globalization;

Βήμα 3: Διαμόρφωση WorkbookSettings

Workbook.Settings επιστρέφει ένα αντικείμενο WorkbookSettings. Ορίστε Date1904 = true για αρχεία macOS που χρησιμοποιούν το σύστημα ημερομηνιών 1904. Ορίστε Culture για να ελέγξετε την περιοχή (locale) ανάλυσης αριθμών και ημερομηνιών.

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

Βήμα 4: Ορισμός ιδιοτήτων εγγράφου

Workbook.DocumentProperties εκθέτει Title, Subject, Author, Keywords, Comments, Category, Company και Manager ως άμεσες ιδιότητες συμβολοσειράς.

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

Βήμα 5: Χρήση SaveOptions

Workbook.Save(path, SaveOptions) δέχεται ένα SaveOptions αντικείμενο για την προσαρμογή της εξόδου. Κύρια χαρακτηριστικά: UseSharedStrings (μειώνει το μέγεθος του αρχείου για φύλλα με επαναλαμβανόμενες συμβολοσειρές), ValidateBeforeSave (εκτελεί έλεγχο πριν από τη γραφή) και CompactStyles (αφαιρεί αχρησιμοποίητα στυλ).

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

Βήμα 6: Ανάγνωση LoadDiagnostics μετά την επισκευή

Μετά τη φόρτωση με TryRepairPackage = true, ελέγξτε Workbook.LoadDiagnostics για να δείτε αν εφαρμόστηκαν επιδιορθώσεις.

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

Κοινά Προβλήματα και Διορθώσεις

WorkbookSaveException όταν ValidateBeforeSave = true. Το βιβλίο εργασίας περιέχει μια δομική ασυνέπεια. Απενεργοποιήστε ValidateBeforeSave προσωρινά για να αποθηκεύσετε και να ελέγξετε το αρχείο, στη συνέχεια διορθώστε το προβληματικό περιεχόμενο.

Ιδιότητες εγγράφου που δεν εμφανίζονται στον πίνακα Πληροφορίες Αρχείου του Excel.
Βεβαιωθείτε ότι ορίζετε τις ιδιότητες στο Workbook.DocumentProperties, όχι στο Workbook.Properties. Το τελευταίο περιέχει σημαίες εμφάνισης, όχι συμβολοσειρές μεταδεδομένων.

Date1904 = true προκαλεί μετατόπιση των τιμών ημερομηνίας.
Date1904 αλλάζει την εποχή που χρησιμοποιείται για σειριακούς αριθμούς ημερομηνίας. Ορίστε το μόνο σε true για αρχεία που προέρχονται από macOS Excel με ενεργοποιημένο το σύστημα ημερομηνίας 1904· η ανάμειξη συστημάτων προκαλεί σφάλματα κατά 1462 ημέρες.

Συχνές Ερωτήσεις

Ποια είναι η διαφορά μεταξύ WorkbookSettings και WorkbookProperties?

WorkbookSettings (μέσω Workbook.Settings) περιέχει τιμές διαμόρφωσης όπως Date1904 και Culture. WorkbookProperties (μέσω Workbook.Properties) περιέχει σημαίες εμφάνισης OOXML όπως ShowObjects. Οι συμβολοσειρές μεταδεδομένων εγγράφου (Τίτλος, Συγγραφέας, κ.λπ.) βρίσκονται στο Workbook.DocumentProperties.

Αφαιρεί ποτέ το CompactStyles τα στυλ που χρειάζομαι;

Όχι. CompactStyles αφαιρεί μόνο τα στυλ που δεν αναφέρονται από κανένα κελί ή κανόνα μορφοποίησης στο βιβλίο εργασίας.

Μπορώ να διαβάσω LoadDiagnostics ακόμη και όταν δεν έγινε καμία προσπάθεια επισκευής;

Ναι. Η συλλογή Issues θα είναι κενή και τόσο το HasRepairs όσο και το HasDataLossRisk θα επιστρέψουν false.

Δείτε επίσης

 Ελληνικά