C# で Excel セルのデータフォーマットを設定する方法: xlsxファイル書式設定ガイド
IronXLでは、xlsxファイルのExcelセルを通貨、パーセンテージ、日付、カスタム数字フォーマットのような組み込みのデータフォーマットで整形することができ、Interopの依存関係なしにセルまたは範囲にFormatStringプロパティを設定することで実現できます。
クイックスタート: 一行で単一セルに組み込みフォーマットを適用する
このサンプルでは、新しいExcelワークブックを作成し、IronXLのAPIを使用して特定のセルに組み込み書式を適用する方法を示しています。 Interopの依存関係は必要ありません—ただFormatStringを設定して保存してください。
- データ形式を設定するためのC#ライブラリをダウンロードする
- 既存のExcelスプレッドシートを開くか、新しいExcelスプレッドシートを作成します
- セル、列、行、または範囲の**`FormatString`**プロパティを希望のデータ形式に設定します。
- **`BuiltinFormats`**クラスで組み込みのデータ形式を使用してください。
- 編集したスプレッドシートをさまざまなファイルタイプでエクスポートする
Excelでセルのデータ形式を設定するには?
FormatStringプロパティは、セルと範囲の両方でアクセスできます。 したがって、個々のセル、列、行、選択された範囲に対してデータ形式を設定できます。 この柔軟性によりIronXLは、InteropなしでC#でExcelファイルを扱う必要がある場合に特に威力を発揮します。
データフォーマットは、スプレッドシートで情報を明確に表示するために不可欠です。 通貨価値のある財務レポート、正確な小数点以下の科学データ、日付ベースの分析など、適切な書式設定により、読みやすくプロフェッショナルなデータを作成できます。 IronXLは、わかりやすいAPIを通じてExcelの書式設定エンジンに直接アクセスすることで、このプロセスを簡素化します。
:path=/static-assets/excel/content-code-examples/how-to/set-cell-data-format.cs
using IronXL;
using IronXL.Formatting;
using System;
using System.Linq;
// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Set the data format to 12300.00%
workSheet["A1"].Value = 123;
workSheet["A1"].FormatString = BuiltinFormats.Percent2;
// Set the data format to 123.0000
workSheet["A2"].Value = 123;
workSheet["A2"].FormatString = "0.0000";
// Set data display format to range
DateTime dateValue = new DateTime(2020, 1, 1, 12, 12, 12);
workSheet["A3"].Value = dateValue;
workSheet["A4"].Value = new DateTime(2022, 3, 3, 10, 10, 10);
workSheet["A5"].Value = new DateTime(2021, 2, 2, 11, 11, 11);
IronXL.Range range = workSheet["A3:A5"];
// Set the data format to 1/1/2020 12:12:12
range.FormatString = "MM/dd/yy h:mm:ss";
workBook.SaveAs("dataFormats.xlsx");
Imports IronXL
Imports IronXL.Formatting
Imports System
Imports System.Linq
' Create a new workbook
Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Set the data format to 12300.00%
Private workSheet("A1").Value = 123
Private workSheet("A1").FormatString = BuiltinFormats.Percent2
' Set the data format to 123.0000
Private workSheet("A2").Value = 123
Private workSheet("A2").FormatString = "0.0000"
' Set data display format to range
Private dateValue As New DateTime(2020, 1, 1, 12, 12, 12)
Private workSheet("A3").Value = dateValue
Private workSheet("A4").Value = New DateTime(2022, 3, 3, 10, 10, 10)
Private workSheet("A5").Value = New DateTime(2021, 2, 2, 11, 11, 11)
Private range As IronXL.Range = workSheet("A3:A5")
' Set the data format to 1/1/2020 12:12:12
range.FormatString = "MM/dd/yy h:mm:ss"
workBook.SaveAs("dataFormats.xlsx")
変換せずにセルの値を文字列として設定するにはどうすればよいですか?
IronXLで値を設定する際は、自動変換なしで正確な値をセルに直接割り当てるためにStringValueを使用してください。 これは、Excelでセルの値の前にアポストロフィを置くようなものです。 このテクニックは、製品コードや電話番号など、テキストとして残すべきデータを扱う場合に特に有効です。 より高度な文字列操作については、.NETでExcelの値を書き込む方法をご覧ください。
:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-stringvalue.cs
// Assign value as string
workSheet["A1"].StringValue = "4402-12";
' Assign value as string
workSheet("A1").StringValue = "4402-12"
IronXLでビルトインフォーマットを使うには?
IronXLライブラリは、Excelのセルを整形するための様々な定義済みフォーマット文字列をIronXL.Formatting.BuiltinFormatsクラスを通じて提供します。 これにより、Excel スプレッドシートでのデータの表示方法をカスタマイズできます。 これらのビルトインフォーマットは、最も一般的なビジネスシナリオをカバーし、すべてのExcelバージョンと互換性があります。
プログラムでスプレッドシートを作成する場合、一貫した書式を適用することは、文書全体でプロフェッショナルな基準を維持するために非常に重要です。 BuiltinFormatsクラスは、Excelの標準形式オプションに一致する30以上の事前構成されたフォーマットパターンを提供します。
:path=/static-assets/excel/content-code-examples/how-to/set-cell-data-format-builtin-formats.cs
using IronXL;
using IronXL.Formatting;
// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Use builtin formats
workSheet["A1"].Value = 123;
workSheet["A1"].FormatString = BuiltinFormats.Accounting0;
workBook.SaveAs("builtinDataFormats.xlsx");
Imports IronXL
Imports IronXL.Formatting
' Create a new workbook
Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Use builtin formats
Private workSheet("A1").Value = 123
Private workSheet("A1").FormatString = BuiltinFormats.Accounting0
workBook.SaveAs("builtinDataFormats.xlsx")
どのような組み込みデータ形式がありますか?
Durationタイプでは、入力値は日数で表されます。 例えば、1日は24時間に相当し、1.05日は25時間12分に相当します。 これは、時間追跡やプロジェクト管理を含むExcelデータを扱う場合に特に役立ちます。 利用可能な形式タイプは以下の通りです。
各フォーマットタイプは何をしますか?
General: 特定のフォーマットのないデフォルトフォーマットで数字を表示します。Duration1: "mm:ss"のように分と秒で時間を表示します。Duration2: "[h]:mm:ss"のように時間、分、秒で時間を表示します。Duration3: "mm:ss.0"のように分、秒、ミリ秒で時間を表示します。Accounting0: "#,##0_);(#,##0)."のように負の数に括弧を使い、小数点なしの会計フォーマットです。Accounting0Red: "#,##0_);Red"のように負の数を赤で表示し、小数点なしの会計フォーマットです。Accounting2: "#,##0.00;(#,##0.00)."のように負の数に括弧を使い、小数点を2桁とした会計フォーマットです。Accounting2Red: "#,##0.00_);Red"のように負の数を赤で表示し、小数点を2桁とした会計フォーマットです。Time1: "h:mm AM/PM"のようなAM/PM付き12時間形式です。Time2: "h:mm:ss AM/PM"のように秒とAM/PMを含む12時間形式です。Time3: "h:mm"のように秒のない24時間形式です。Time4: "h:mm:ss"のように秒を含む24時間形式です。ShortDate: "m/d/yy"のような短い日付形式です。ShortDateAndTime: "m/d/yy h:mm"のような短い日付と時間形式です。LongDate1: "d-mmm-yy"のような月、日、年を含む長い日付形式です。LongDate2: "d-mmm"のように日と月を省略して表示する長い日付形式です。LongDate3: "mmm-yy"のように月を省略した年を含む長い日付形式です。Fraction1: "# ?/?"のような1桁の分数表現です。Fraction2: "# ??/??"のような2桁の分数表現です。Scientific1: "##0.0E+0"のような1桁の小数点を使用した科学的表記です。Scientific2: "0.00E+00"のような2桁の小数点を使用した科学的表記です。Percent: "0%"のように小数点なしのパーセンテージ形式です。Percent2: "0.00%"のように2桁の小数点付きのパーセンテージ形式です。Currency0: "$#,##0_);($#,##0)."のように負の数に括弧を使い、小数点なしの通貨形式です。Currency0Red: "$#,##0_);Red"のように負の数を赤で表示し、小数点なしの通貨形式です。Currency2: "$#,##0.00;($#,##0.00)."のように負の数に括弧を使い、小数点を2桁とした通貨形式です。Currency2Red: "$#,##0.00_);Red"のように負の数を赤で表示し、小数点を2桁とした通貨形式です。Thousands0: "#,##0"のような小数点のない千単位の区切り番号フォーマットです。Thousands2: "#,##0.00"のような小数点を2桁とした千単位の区切り番号フォーマットです。Number0: "0"のような小数点なしの番号フォーマットです。Number2: "0.00"のような2桁の小数点付きの番号フォーマットです。Text: "@"のようなプレーンテキストフォーマットです。
Excelのデータ書式設定と数値書式設定は、数値、日付、時刻、その他のデータのセル内での表示方法を制御し、可読性を高め、データの正確性を確保します。 データ形式を使用すると、パーセンテージや通貨などの特定の形式で情報を表示できます。 同様に、数値形式では小数点以下の桁数や表示オプションをカスタマイズできます。
異なる範囲に複数の書式を適用するにはどうすればよいですか?
実際のアプリケーションでは、スプレッドシートのさまざまな部分に異なるフォーマットを適用する必要がよくあります。 この例では、複数のデータ型を持つ財務レポートの書式設定について説明します。このアプローチは、データベースやその他のデータソースからC#でExcelにエクスポートする場合に特に役立ちます:
using IronXL;
using IronXL.Formatting;
using System;
// Create a financial report with multiple formats
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Headers
workSheet["A1"].Value = "Financial Report Q4 2023";
workSheet["A1"].Style.Font.Bold = true;
// Revenue section with currency formatting
workSheet["A3"].Value = "Revenue";
workSheet["B3"].Value = 2500000;
workSheet["B3"].FormatString = BuiltinFormats.Currency0;
// Growth percentage
workSheet["A4"].Value = "YoY Growth";
workSheet["B4"].Value = 0.157;
workSheet["B4"].FormatString = BuiltinFormats.Percent2;
// Date formatting
workSheet["A6"].Value = "Report Date";
workSheet["B6"].Value = DateTime.Now;
workSheet["B6"].FormatString = BuiltinFormats.LongDate1;
// Apply accounting format to expense columns
IronXL.Range expenseRange = workSheet["B8:B12"];
expenseRange.FormatString = BuiltinFormats.Accounting2Red;
// Save the formatted report
workBook.SaveAs("FinancialReport_Q4_2023.xlsx");
using IronXL;
using IronXL.Formatting;
using System;
// Create a financial report with multiple formats
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Headers
workSheet["A1"].Value = "Financial Report Q4 2023";
workSheet["A1"].Style.Font.Bold = true;
// Revenue section with currency formatting
workSheet["A3"].Value = "Revenue";
workSheet["B3"].Value = 2500000;
workSheet["B3"].FormatString = BuiltinFormats.Currency0;
// Growth percentage
workSheet["A4"].Value = "YoY Growth";
workSheet["B4"].Value = 0.157;
workSheet["B4"].FormatString = BuiltinFormats.Percent2;
// Date formatting
workSheet["A6"].Value = "Report Date";
workSheet["B6"].Value = DateTime.Now;
workSheet["B6"].FormatString = BuiltinFormats.LongDate1;
// Apply accounting format to expense columns
IronXL.Range expenseRange = workSheet["B8:B12"];
expenseRange.FormatString = BuiltinFormats.Accounting2Red;
// Save the formatted report
workBook.SaveAs("FinancialReport_Q4_2023.xlsx");
Imports IronXL
Imports IronXL.Formatting
Imports System
' Create a financial report with multiple formats
Dim workBook As WorkBook = WorkBook.Create()
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
' Headers
workSheet("A1").Value = "Financial Report Q4 2023"
workSheet("A1").Style.Font.Bold = True
' Revenue section with currency formatting
workSheet("A3").Value = "Revenue"
workSheet("B3").Value = 2500000
workSheet("B3").FormatString = BuiltinFormats.Currency0
' Growth percentage
workSheet("A4").Value = "YoY Growth"
workSheet("B4").Value = 0.157
workSheet("B4").FormatString = BuiltinFormats.Percent2
' Date formatting
workSheet("A6").Value = "Report Date"
workSheet("B6").Value = DateTime.Now
workSheet("B6").FormatString = BuiltinFormats.LongDate1
' Apply accounting format to expense columns
Dim expenseRange As IronXL.Range = workSheet("B8:B12")
expenseRange.FormatString = BuiltinFormats.Accounting2Red
' Save the formatted report
workBook.SaveAs("FinancialReport_Q4_2023.xlsx")
この例では、さまざまな書式を組み合わせてProfessionalな財務文書を作成する方法を示しています。 条件付き書式など、より高度な書式オプションについては、これらの概念をさらに拡張することができます。
大規模なデータセットを扱ったり、プログラムでレポートを作成したりする場合は、一貫した書式設定が重要になります。 IronXLの書式システムは数学関数や編集数式のような他の機能とシームレスに統合されており、完全に自動化されたレポート・ソリューションを作成することができます。
Office Interopからの移行や、より良いパフォーマンスを求める開発者にとって、IronXLのフォーマットシステムは大きな利点となります。 従来のアプローチとは異なり、COMインターオプのオーバーヘッドなしに、何千ものセルを効率的にフォーマットすることができます。 Excel の自動化のベスト プラクティスについては、包括的な Excel ドキュメント をご覧ください。
よくある質問
Interop を使用せずに C# で Excel のセルをフォーマットするにはどうすればよいですか?
IronXLはInteropに依存せずにExcelのセルをフォーマットする簡単な方法を提供します。セルや範囲のFormatStringプロパティを使用して、通貨、パーセンテージ、日付、カスタム数値書式などの組み込み書式を適用できます。IronXLでワークブックを作成または開き、FormatStringプロパティに希望の書式を設定するだけです。
通貨書式をセルに適用する最も簡単な方法は何ですか?
IronXLを使えば、たった一行のコードで通貨フォーマットを適用することができます。book.DefaultWorkSheet["B2"].FormatString=IronXL.Formatting.BuiltinFormats.Currency2;これはセルB2に小数点以下2桁の通貨フォーマットを適用します。
複数のセルを一度にフォーマットできますか?
はい、IronXLではFormatStringプロパティを通して、個々のセル、列全体、行、または選択した範囲をフォーマットすることができます。この柔軟性により、Excelスプレッドシートの複数のセルに一貫した書式を適用することが容易になります。
セルの値を設定する際、自動データ変換を防ぐにはどうすればよいですか?
IronXLはStringValueプロパティを提供し、セルの値を自動変換せずに文字列として設定します。Valueプロパティを使用する代わりに、StringValueを使用して正確な値をセルに割り当てます。これはExcelでセル値の前にアポストロフィを置くのと同じように機能し、商品コードや電話番号など、テキストとして残すべきデータには特に便利です。
どのようなビルトインフォーマットオプションがありますか?
IronXLはIronXL.Formatting.BuiltinFormatsクラスを通して定義済みの書式文字列を包括的に提供します。これにはさまざまな通貨フォーマット、日付と時刻のフォーマット、パーセント表示、科学的表記法、カスタム数値フォーマットが含まれ、Excelスプレッドシートでのデータの表示方法をカスタマイズすることができます。
セルの書式設定機能を使用するには、Microsoft Excelをインストールする必要がありますか?
IronXLはMicrosoft ExcelやInteropに依存することなく独立して動作します。このライブラリにはExcelファイルを直接操作する独自の書式設定エンジンが含まれており、サーバー環境やExcelがインストールされていないシステムに最適です。

