Features

機能

Aspose.Cells FOSS for .NET は、Excel XLSX スプレッドシートの作成、読み取り、変更のための純粋なマネージド .NET ライブラリです。エントリーポイントは Workbook クラスで、ワークシート、定義名へのアクセス、および保存/読み込み操作を提供します。このページでは、主要な機能領域を簡潔なコード例とともに要約しています。


ブックの作成、読み込み、保存

new Workbook() を使用して新しいブックを作成します。コンストラクタにファイルパスを渡すことで既存の XLSX ファイルを読み込みます。LoadOptions を使用してフォールトトレラントな読み込みを有効にします。Workbook.Save(path) を呼び出して変更を永続化します。

using Aspose.Cells_FOSS;

// New workbook
var wb = new Workbook();
wb.Worksheets[0].Cells["A1"].PutValue("Hello");
wb.Save("output.xlsx");

// Load with repair options
var opts = new LoadOptions { TryRepairPackage = true, TryRepairXml = true };
try
{
    var loaded = new Workbook("input.xlsx", opts);
    Console.WriteLine(loaded.Worksheets[0].Cells["A1"].StringValue);
}
catch (WorkbookLoadException ex)
{
    Console.WriteLine("Load failed: " + ex.Message);
}

セルのデータと数式

Cell.PutValue() を使用して文字列、整数、10 進数、ブール値、そして DateTime 値を書き込みます。Cell.Formula を設定して Excel 互換の数式文字列を割り当てます。表示テキストは Cell.StringValue で、元の値は Cell.Value で読み取ります。

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

ws.Cells["A1"].PutValue("Qty");
ws.Cells["B1"].PutValue("Price");
ws.Cells["C1"].PutValue("Total");
ws.Cells["A2"].PutValue(10);
ws.Cells["B2"].PutValue(4.99m);
ws.Cells["C2"].Formula = "=A2*B2";

wb.Save("data.xlsx");

var loaded = new Workbook("data.xlsx");
Console.WriteLine(loaded.Worksheets[0].Cells["C2"].StringValue); // 49.9

セルのスタイリング

任意のセルが Cell.GetStyle()Cell.SetStyle() を持つ場合、Style オブジェクトを取得して変更します。Style クラスは Font(太字、斜体、サイズ、名前)、ForegroundColorPattern(タイプは FillPattern)、HorizontalAlignmentHorizontalAlignmentType を使用)、および Borders による罫線制御を提供します。

using Aspose.Cells_FOSS;

var wb = new Workbook();
var cell = wb.Worksheets[0].Cells["A1"];
cell.PutValue("Styled Header");

var style = cell.GetStyle();
style.Font.Bold = true;
style.Font.Size = 14;
style.Pattern = FillPattern.Solid;
style.ForegroundColor = Color.FromArgb(255, 198, 239, 206);
style.HorizontalAlignment = HorizontalAlignmentType.Center;
cell.SetStyle(style);

wb.Save("styled.xlsx");

条件付き書式

Worksheet.ConditionalFormattingsConditionalFormattingCollection を返します。Add() を呼び出してルールセットを作成し、次に AddCondition() を使用して FormatConditionTypeOperatorType を用いたルールを追加します。サポートされている条件タイプには CellValueExpressionColorScaleDataBar、および IconSet が含まれます。

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];
for (var i = 0; i < 10; i++)
    ws.Cells[i, 0].PutValue(i + 1);

var ruleSet = ws.ConditionalFormattings[ws.ConditionalFormattings.Add()];
ruleSet.AddArea(CellArea.CreateCellArea("A1", "A10"));
var rule = ruleSet[ruleSet.AddCondition(FormatConditionType.CellValue, OperatorType.Between, "3", "7")];
var ruleStyle = rule.Style;
ruleStyle.Pattern = FillPattern.Solid;
ruleStyle.ForegroundColor = Color.FromArgb(255, 255, 199, 206);
rule.Style = ruleStyle;

wb.Save("cf.xlsx");

データ検証

Worksheet.ValidationsValidationCollection を返します。Add(CellArea) を呼び出してセル範囲用の Validation を作成します。ValidationTypeListDecimal、または Custom)を使用して Type プロパティを設定します。Formula1Formula2OperatorInputTitleInputMessageErrorTitle、および ErrorMessage を構成します。

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

var listVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("A1", "A10"))];
listVal.Type = ValidationType.List;
listVal.Formula1 = "\"Open,Closed,Pending\"";
listVal.InCellDropDown = true;

var numVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("B1", "B10"))];
numVal.Type = ValidationType.Decimal;
numVal.Operator = OperatorType.Between;
numVal.Formula1 = "0";
numVal.Formula2 = "100";
numVal.ShowError = true;

wb.Save("validation.xlsx");

オートフィルター

Worksheet.AutoFilterAutoFilter オブジェクトを公開します。AutoFilter.Range を設定してヘッダー行の範囲を定義します。AutoFilter.FilterColumns(コレクション)にアクセスし、Add(columnIndex) を呼び出して特定の列でフィルタリングを有効にします。

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

ws.Cells["A1"].PutValue("Name");
ws.Cells["B1"].PutValue("Region");
ws.Cells["C1"].PutValue("Sales");
ws.Cells["A2"].PutValue("Alice"); ws.Cells["B2"].PutValue("North"); ws.Cells["C2"].PutValue(1200);

ws.AutoFilter.Range = "A1:C1";
ws.AutoFilter.FilterColumns.Add(1);

wb.Save("filter.xlsx");

ハイパーリンクと定義名

Worksheet.HyperlinksHyperlinkCollection です。外部URL、内部セル参照、またはmailtoリンクを挿入するには Add() を呼び出します。ユーザー向けテキストには Hyperlink.TextToDisplayHyperlink.ScreenTip を設定します。Workbook.DefinedNamesDefinedNameCollection です;名前付き範囲を作成するには Add(name, refersTo) を呼び出します。

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

ws.Cells["A1"].PutValue("Docs");
var link = ws.Hyperlinks[ws.Hyperlinks.Add("A1", 1, 1, "https://docs.aspose.org/cells/net/")];
link.TextToDisplay = "Documentation";

wb.DefinedNames[wb.DefinedNames.Add("DataRange", "Sheet1!$A$1:$D$10")].Comment = "Main data range";

wb.Save("links.xlsx");

ページ設定

Worksheet.PageSetup は印刷余白、向き、用紙サイズ、印刷領域、タイトル行/列、ヘッダー、フッター、ページ区切りを制御します。PageOrientationTypePaperSizeType の列挙型を使用します。

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ps = wb.Worksheets[0].PageSetup;
ps.Orientation = PageOrientationType.Landscape;
ps.PaperSize = PaperSizeType.PaperA4;
ps.PrintArea = "$A$1:$H$50";
ps.CenterHeader = "My Report";
ps.CenterHorizontally = true;
ps.AddHorizontalPageBreak(25);

wb.Save("paged.xlsx");

ワークシート管理

WorksheetCollection を使用してワークシートを追加、名前変更、非表示、並び替えできます。WorksheetCollection.Add(name) は新しいシートのインデックスを返します。VisibilityType を使用して Worksheet.VisibilityType を設定します。Cells.Merge() でセルを結合し、Cells.RowsCells.Columns で行/列のサイズを制御します。

using Aspose.Cells_FOSS;

var wb = new Workbook();
wb.Worksheets[0].Name = "Summary";
var dataIdx = wb.Worksheets.Add("Data");
wb.Worksheets[dataIdx].VisibilityType = VisibilityType.Hidden;
wb.Worksheets.ActiveSheetName = "Summary";

var ws = wb.Worksheets["Summary"];
ws.Cells["A1"].PutValue("Title");
ws.Cells.Merge(0, 0, 1, 4);
ws.Cells.Rows[0].Height = 30d;
ws.Cells.Columns[0].Width = 20d;

wb.Save("worksheets.xlsx");

ヒントとベストプラクティス

  • ユーザーが提供したパスからファイルを読み込む際は、常に WorkbookLoadException をキャッチしてください。
  • 保存したい正確な .NET 型で Cell.PutValue() を使用してください — 通貨には decimal、日付には DateTime を渡します。
  • 表示テキストを取得するには Cell.StringValue を読み取り、 生の .NET オブジェクトが必要なときは Cell.Value を使用してください。
  • 必要な最広範囲で条件付き書式ルールセットを作成します — 大規模シートでは行単位のルールはコストが高くなります。
  • 各セルの書き込み後に呼び出すのではなく、最後に一度だけ wb.Save() を呼び出してください。

よくある問題

問題原因修正
開く時のWorkbookLoadExceptionXLSX の ZIP 構造が破損しています設定 LoadOptions.TryRepairPackage = true
数式が空のStringValue を返すロード時に数式が再計算されないWorkbook.Save() の往復後にCell.StringValue にアクセスする
ハイパーリンクのアドレスが生のURLを表示TextToDisplay が設定されていませんHyperlink.TextToDisplayAdd() の後に設定してください
ワークシートのタブが表示されていませんVisibilityTypeHidden に設定されました設定 ws.VisibilityType = VisibilityType.Visible

FAQ

Aspose.Cells の .NET 用 FOSS は Microsoft Office を必要としますか?

いいえ。このライブラリは純粋なマネージドコードで、Office、Excel、または COM 相互運用への依存はありません。

サポートされているファイル形式は何ですか?

XLSX(読み取りおよび書き込み)。CSV、ODS、PDF、およびバイナリXLSはこのリリースではサポートされていません。

このライブラリを商用アプリケーションで使用できますか?

はい。Aspose.Cells FOSS は MIT ライセンスの下で公開されており、ロイヤリティなしで無制限の商用利用が許可されています。

最低限の .NET バージョンは何ですか?

.NET 6.0 以降。

セルに背景色を適用するにはどうすればいいですか?

style.Pattern = FillPattern.Solidstyle.ForegroundColor = Color.FromArgb(...) を設定し、次に cell.SetStyle(style) を呼び出します。


API Reference の概要

クラス / メソッド説明
Workbookルートクラス — ワークブックの作成、読み込み、保存
Workbook.WorksheetsWorksheetCollection を返します
Workbook.Save(path)ワークブックをディスクに保存します
Workbook.DefinedNames名前付き範囲コレクション
Worksheet.Cellsセルグリッドへのアクセス
Worksheet.ConditionalFormattings条件付き書式ルールセット
Worksheet.Validationsデータ検証ルール
Worksheet.AutoFilter自動フィルタ設定
Worksheet.Hyperlinksハイパーリンクコレクション
Worksheet.PageSetup印刷レイアウト設定
Cell.PutValue()入力済みセルデータを書き込む
Cell.FormulaExcel 互換の数式文字列
Cell.GetStyle() / Cell.SetStyle()セルのスタイルを読み書き
Style.Pattern塗りつぶしパターン(FillPattern enum)
Style.HorizontalAlignmentセルの配置(HorizontalAlignmentType
LoadOptionsフォールトトレラントなファイル読み込みのオプション

参照

 日本語