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(太字、斜体、サイズ、名前)、ForegroundColor、Pattern(タイプは FillPattern)、HorizontalAlignment(HorizontalAlignmentType を使用)、および 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.ConditionalFormattings は ConditionalFormattingCollection を返します。Add() を呼び出してルールセットを作成し、次に AddCondition() を使用して FormatConditionType と OperatorType を用いたルールを追加します。サポートされている条件タイプには CellValue、Expression、ColorScale、DataBar、および 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.Validations は ValidationCollection を返します。Add(CellArea) を呼び出してセル範囲用の Validation を作成します。ValidationType(List、Decimal、または Custom)を使用して Type プロパティを設定します。Formula1、Formula2、Operator、InputTitle、InputMessage、ErrorTitle、および 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.AutoFilter は AutoFilter オブジェクトを公開します。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.Hyperlinks は HyperlinkCollection です。外部URL、内部セル参照、またはmailtoリンクを挿入するには Add() を呼び出します。ユーザー向けテキストには Hyperlink.TextToDisplay と Hyperlink.ScreenTip を設定します。Workbook.DefinedNames は DefinedNameCollection です;名前付き範囲を作成するには 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 は印刷余白、向き、用紙サイズ、印刷領域、タイトル行/列、ヘッダー、フッター、ページ区切りを制御します。PageOrientationType と PaperSizeType の列挙型を使用します。
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.Rows と Cells.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()を呼び出してください。
よくある問題
| 問題 | 原因 | 修正 |
|---|---|---|
開く時のWorkbookLoadException | XLSX の ZIP 構造が破損しています | 設定 LoadOptions.TryRepairPackage = true |
数式が空のStringValue を返す | ロード時に数式が再計算されない | Workbook.Save() の往復後にCell.StringValue にアクセスする |
| ハイパーリンクのアドレスが生のURLを表示 | TextToDisplay が設定されていません | Hyperlink.TextToDisplay を Add() の後に設定してください |
| ワークシートのタブが表示されていません | VisibilityType が Hidden に設定されました | 設定 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.Solid と style.ForegroundColor = Color.FromArgb(...) を設定し、次に cell.SetStyle(style) を呼び出します。
API Reference の概要
| クラス / メソッド | 説明 |
|---|---|
Workbook | ルートクラス — ワークブックの作成、読み込み、保存 |
Workbook.Worksheets | WorksheetCollection を返します |
Workbook.Save(path) | ワークブックをディスクに保存します |
Workbook.DefinedNames | 名前付き範囲コレクション |
Worksheet.Cells | セルグリッドへのアクセス |
Worksheet.ConditionalFormattings | 条件付き書式ルールセット |
Worksheet.Validations | データ検証ルール |
Worksheet.AutoFilter | 自動フィルタ設定 |
Worksheet.Hyperlinks | ハイパーリンクコレクション |
Worksheet.PageSetup | 印刷レイアウト設定 |
Cell.PutValue() | 入力済みセルデータを書き込む |
Cell.Formula | Excel 互換の数式文字列 |
Cell.GetStyle() / Cell.SetStyle() | セルのスタイルを読み書き |
Style.Pattern | 塗りつぶしパターン(FillPattern enum) |
Style.HorizontalAlignment | セルの配置(HorizontalAlignmentType) |
LoadOptions | フォールトトレラントなファイル読み込みのオプション |