Cara Bekerja dengan Pengaturan Inti Workbook di .NET
Aspose.Cells FOSS for .NET menyediakan konfigurasi tingkat workbook melalui Workbook.Settings (lokal dan sistem tanggal), Workbook.DocumentProperties (metadata penulis), Workbook.LoadDiagnostics (laporan perbaikan), dan SaveOptions (perilaku penyimpanan). Instal dengan dotnet add package Aspose.Cells_FOSS.
Panduan Langkah-demi-Langkah
Langkah 1: Instal Paket
dotnet add package Aspose.Cells_FOSSLangkah 2: Impor Namespace
using Aspose.Cells_FOSS;
using System.Globalization;Langkah 3: Konfigurasikan WorkbookSettings
Workbook.Settings mengembalikan objek WorkbookSettings. Atur Date1904 = true untuk file yang berasal dari macOS yang menggunakan sistem tanggal 1904. Atur Culture untuk mengontrol locale parsing angka dan tanggal.
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);Langkah 4: Atur Properti Dokumen
Workbook.DocumentProperties mengekspos Title, Subject, Author, Keywords, Comments, Category, Company, dan Manager sebagai properti string langsung.
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);Langkah 5: Gunakan SaveOptions
Workbook.Save(path, SaveOptions) menerima objek SaveOptions untuk menyesuaikan output. Properti utama: UseSharedStrings (mengurangi ukuran file untuk lembar dengan string berulang), ValidateBeforeSave (menjalankan validasi sebelum menulis), dan CompactStyles (menghapus gaya yang tidak digunakan).
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.");Step 6: Baca LoadDiagnostics Setelah Perbaikan
Setelah memuat dengan TryRepairPackage = true, periksa Workbook.LoadDiagnostics untuk melihat apakah ada perbaikan yang diterapkan.
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}");Masalah Umum dan Solusi
WorkbookSaveException ketika ValidateBeforeSave = true.
Workbook berisi inkonsistensi struktural. Nonaktifkan ValidateBeforeSave sementara untuk menyimpan dan memeriksa file, kemudian perbaiki konten yang bermasalah.
Properti dokumen tidak terlihat di panel Info File Excel.
Pastikan Anda mengatur properti pada Workbook.DocumentProperties, bukan Workbook.Properties. Yang terakhir menyimpan flag tampilan, bukan string metadata.
Date1904 = true menyebabkan nilai tanggal bergeser.
Date1904 mengubah epoch yang digunakan untuk nomor seri tanggal. Hanya atur ke true untuk file yang berasal dari macOS Excel dengan sistem tanggal 1904 diaktifkan; mencampur sistem menyebabkan kesalahan selisih 1462 hari.
Pertanyaan yang Sering Diajukan
Apa perbedaan antara WorkbookSettings dan WorkbookProperties?
WorkbookSettings (melalui Workbook.Settings) menyimpan nilai konfigurasi seperti Date1904 dan Culture. WorkbookProperties (melalui Workbook.Properties) menyimpan flag tampilan OOXML seperti ShowObjects. String metadata dokumen (Judul, Penulis, dll.) berada di Workbook.DocumentProperties.
Apakah CompactStyles pernah menghapus gaya yang saya butuhkan?
Tidak. CompactStyles hanya menghapus gaya yang tidak dirujuk oleh sel mana pun atau aturan format dalam buku kerja.
Bisakah saya membaca LoadDiagnostics meskipun tidak ada perbaikan yang dilakukan?
Ya. Koleksi Issues akan kosong dan baik HasRepairs maupun HasDataLossRisk akan mengembalikan false.