Cara Bekerja dengan Pengaturan Inti Workbook di .NET

Cara Bekerja dengan Pengaturan Inti Workbook di .NET

Aspose.Cells FOSS untuk .NET menampilkan konfigurasi tingkat buku kerja melalui Workbook.Settings (lokal dan sistem tanggal), Workbook.DocumentProperties (metadata penulis), Workbook.LoadDiagnostics (laporan perbaikan), dan SaveOptions (perilaku penyimpanan). Instal dengan satu perintah dotnet add package.

Panduan Langkah-demi-Langkah

Langkah 1: Instal Paket

dotnet add package Aspose.Cells.FOSS

Langkah 2: Impor Namespace

using Aspose.Cells_FOSS;
using System.Globalization;

Langkah 3: Konfigurasikan WorkbookSettings

Workbook.Settings mengembalikan sebuah objek WorkbookSettings. Atur Date1904 = true untuk file yang berasal dari macOS yang menggunakan sistem tanggal 1904. Atur Culture untuk mengendalikan 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 kunci: 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.");

Langkah 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 Perbaikan

WorkbookSaveException when ValidateBeforeSave = true. Buku kerja mengandung inkonsistensi struktural. Nonaktifkan ValidateBeforeSave sementara untuk menyimpan dan memeriksa berkas, kemudian perbaiki konten yang bermasalah.

Properti dokumen tidak terlihat di panel Info Berkas Excel. Pastikan Anda mengatur properti pada Workbook.DocumentProperties, bukan Workbook.Properties. Yang terakhir menyimpan bendera 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 direferensikan oleh sel mana pun atau aturan format dalam buku kerja.

Apakah saya dapat membaca LoadDiagnostics bahkan ketika tidak ada perbaikan yang dicoba?

Ya. Koleksi Issues akan kosong dan baik HasRepairs maupun HasDataLossRisk akan mengembalikan false.

Lihat Juga

 Bahasa Indonesia