Core Workbook Settings ile çalışmak
Core Workbook Settings ile çalışmak
Bir çalışma kitabı, Excel’in nasıl yorumlandığını etkileyen metadata ve yapılandırma taşıyor: tarih sistemi, belge yazarı, lokal ve geri dönüş bilgileri kaydediliyor mu. Workbook Sınıflar bu konuları ortaya çıkarır. Workbook.Settings, Workbook.Properties,ve Workbook.LoadDiagnostics.• Kurtarma davranışları kontrol edilebilir SaveOptions.
Workbook Settings İş Kitabı
Workbook.Settings geri döner a WorkbookSettings Seti - Set Date1904 için true 1904 tarih sistemi (MacOS Excel’den kaynaklanan dosyalarda yaygın olarak) kullanmak için. Culture A için CultureInfo İsim ve tarih kontrolü yerel.
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);Belge Özellikleri
Workbook.Properties geri döner a WorkbookProperties • Görüntüleme odaklı bayrakları ile nesne gibi ShowObjects ve FilterPrivacy.• Metatötik ve metafizik kullanım için Workbook.DocumentProperties,Açıklayanlar Title, Subject, Author, Keywords, Comments, Category, Company,ve Manager Doğrudan çerçeve özellikleri olarak.
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);Diagnostik yükler
Bir çalışma kitabı yükledikten sonra, kontrol edin. Workbook.LoadDiagnostics Kütüphaneye herhangi bir onarım yapılmış olup olmadığını öğrenmek için. LoadDiagnostics.HasRepairs Onu true En az bir yapı düzeltme yapılırsa. LoadDiagnostics.HasDataLossRisk Onu true Eğer bir düzeltme kaybolmuş veri. iterate LoadDiagnostics.Issues Bireysel erişim için DiagnosticEntry nesneler ile Code, Severity, Message, RepairApplied,ve 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); }
---
### Seçenekleri kurtarmak
`Workbook.Save(path, SaveOptions)` kabul eder a `SaveOptions` Tasarruf üretimi için tasarruf yaptırmak. `UseSharedStrings` Paylaşımlı çubuk tablosunda çizgi değerlerinin kaydedildiğini kontrol eder (birden fazla tekrarlanan çubuğu olan sayfa dosya boyutunu azaltır). `ValidateBeforeSave` Yazmadan önce iç çalışma kitabı doğrulama çalıştırır. `CompactStyles` Kullanılmamış tarzları ortadan kaldırır. `PreserveRecoveryMetadata` Office kurtarma metadata korunmuş olup olmadığını kontrol eder.
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.");İpuçları ve En İyi Uygulamalar
- Check
LoadDiagnostics.HasDataLossRiskyükledikten sonra düzeltilmiş dosyalar ve kullanıcıları veri kaybolmuş olabilir uyarmak. - Setleri
DocumentProperties.AuthorveCompanySon kullanıcılarla paylaştığınız dosyalar için - bunlar Excel’in dosya bilgileri panosunda görünür. UseSharedStrings = trueÇok sayıda tekrarlanan çubuk değerleri (örneğin durum sütunları) olan sayfalar için yararlıdır; sayı ağırlıklar üzerinde minimum bir etkiye sahiptir.Date1904Kaynak ve hedef dosyası arasında eşleşmelidir, böylece iş kitapları arasındaki hücreleri kopyalama sırasında tarih değerinin dalgalanmasını önlemek için.
ortak sorunlar
| Issue | Cause | Fix |
|---|---|---|
LoadDiagnostics.Issues Onarım sonrası boşluk | Tamir yapılmamıştır veya TryRepair* ayarlanmamış | Setleri TryRepairPackage = true ve TryRepairXml = true içinde LoadOptions |
DocumentProperties.Title devam etmedi | Using WorkbookProperties Bunun yerine DocumentProperties | Metatürler aracılığıyla metadata erişim Workbook.DocumentProperties,Ama değil Workbook.Properties |
WorkbookSaveException kurtarma için | Validasyon başarısızlığı ile ValidateBeforeSave = true | İzin mesajını kontrol edin; kötü verileri izole etmek için doğrulama devre dışı bırakın |
FAQ
Arasındaki fark nedir WorkbookProperties ve DocumentProperties?
WorkbookProperties (Bayrıca Workbook.Properties* OOXML ekran bayrakları (örneğin,. ShowObjects). DocumentProperties (Bayrıca Workbook.DocumentProperties) Dublin-Kore tarzı metadata zincirleri tutar: Başlık, Yazar, Şirket vb.
Does CompactStyles İhtiyacım olan tarzları silin mi?
CompactStyles Sadece herhangi bir hücre, koşullu biçim veya adlandırılmış tarz tarafından belirtilmemiş olan stiller kaldırır.
Okumaya devam edebilirim LoadDiagnostics Tamir yapılmadığı zaman bile?
Evet, eğer bir düzeltme yapılmadığında Issues Koleksiyon boş ve her ikisi de HasRepairs ve HasDataLossRisk Geri dönüş false.
API Referans Özetleri
| Sınıf / Mülkiyet | Description |
|---|---|
Workbook.Settings | Returns WorkbookSettings |
WorkbookSettings.Date1904 | 1904 Tarih Sistemi Kullanımı |
WorkbookSettings.Culture | Tarih / sayısı için yerleşim yeri |
Workbook.DocumentProperties | Yazar, Başlık, Şirket Metadata |
Workbook.LoadDiagnostics | Post-load onarım raporu |
LoadDiagnostics.HasRepairs | true Eğer bir düzeltme yapılırsa |
LoadDiagnostics.HasDataLossRisk | true Kayıp verileri düzeltmek için |
LoadDiagnostics.Issues | Koleksiyonu için DiagnosticEntry nesneler |
DiagnosticEntry.Code | Kısaca düzeltme kodu string |
DiagnosticEntry.Severity | DiagnosticSeverity Enum Değerleri |
DiagnosticEntry.Message | İnsan okunabilir onarım açıklaması |
SaveOptions.UseSharedStrings | Paylaşımlı çubuk tablosunda çizgiler kaydetmek |
SaveOptions.ValidateBeforeSave | Yazmadan önce iç doğrulama çalıştırın |
SaveOptions.CompactStyles | Kullanılmamış tarzları kaldırın |