Core Workbook Settings を .NET で操作する方法
Aspose.Cells FOSS for .NET は、ワークブックレベルの設定を Workbook.Settings(ロケールと日付システム)、Workbook.DocumentProperties(作者メタデータ)、Workbook.LoadDiagnostics(修復レポート)、および SaveOptions(保存動作)を通じて提供します。dotnet add package コマンド1つでインストールできます。
ステップバイステップ ガイド
ステップ 1: パッケージをインストールする
dotnet add package Aspose.Cells.FOSSステップ 2: 名前空間をインポートする
using Aspose.Cells_FOSS;
using System.Globalization;ステップ 3: WorkbookSettings を構成する
Workbook.Settings は WorkbookSettings オブジェクトを返します。1904 年日付システムを使用する macOS 起源のファイルには Date1904 = true を設定します。数値および日付の解析ロケールを制御するには Culture を設定します。
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 when ValidateBeforeSave = true. ブックに構造上の不整合があります。無効にする ValidateBeforeSave 一時的に無効にしてファイルを保存・検査し、問題のあるコンテンツを修正してください。
Excel のファイル情報パネルにドキュメント プロパティが表示されません。 プロパティを設定している対象が Workbook.DocumentProperties、ではなく Workbook.Properties。後者は表示フラグを保持しており、メタデータ文字列ではありません。
Date1904 = true 日付値がずれる原因となります。 Date1904 は日付シリアル番号に使用されるエポックを変更します。設定は true macOS Excelで1904日付システムが有効になっているファイルに対して;システムを混在させると1462日ずれのエラーが発生します。
よくある質問
WorkbookSettings と WorkbookProperties の違いは何ですか?
WorkbookSettings (via Workbook.Settings) は Date1904 や Culture のような構成値を保持します。WorkbookProperties (via Workbook.Properties) は ShowObjects などの OOXML 表示フラグを保持します。ドキュメントのメタデータ文字列(タイトル、著者など)は Workbook.DocumentProperties に格納されます。
CompactStyles が必要なスタイルを削除することはありますか?
No. CompactStyles は、ワークブック内の任意のセルまたは書式ルールで参照されていないスタイルのみを削除します。
修復が試みられなかった場合でも、LoadDiagnostics を読み取ることはできますか?
はい。Issues コレクションは空になり、HasRepairs と HasDataLossRisk の両方は false を返します。