Excel\u3067\u30bb\u30eb\u306e\u30c7\u30fc\u30bf\u5f62\u5f0f\u3092\u8a2d\u5b9a\u3059\u308b\u65b9\u6cd5<\/S>

IronXLを使ってC#でセルのデータ・フォーマットを設定する方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXLは、Interopに依存することなく、FormatStringプロパティをセルや範囲に設定することで、通貨、パーセンテージ、日付、カスタム数値フォーマットなどの組み込みデータフォーマットでExcelのセルをフォーマットすることができます。

クイックスタート: 1行で単一セルに組み込み形式を適用する

このサンプルでは、新しいExcelワークブックを作成し、IronXLのAPIを使用して特定のセルに組み込み書式を適用する方法を示しています。 FormatStringを設定して保存するだけです。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronXL をインストールします

    PM > Install-Package IronXL.Excel

  2. このコード スニペットをコピーして実行します。

    IronXL.WorkBook book = IronXL.WorkBook.Create(); book.DefaultWorkSheet["B2"].FormatString = IronXL.Formatting.BuiltinFormats.Currency2;
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronXL を使い始めましょう
    arrow pointer


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")
$vbLabelText   $csharpLabel
フォーマットされたセルを示すExcelスプレッドシート: パーセント、数値、日付/時刻の値をさまざまな表示形式で.

変換せずにセルの値を文字列として設定するにはどうすればよいですか?

IronXL で値を設定する際は、Value の代わりに 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"
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

どのような組み込みデータ形式がありますか?

Duration タイプの場合、入力値は日数で表されます。 例えば、1日は24時間に相当し、1.05日は25時間12分に相当します。 これは、時間追跡やプロジェクト管理を含むExcelデータを扱う場合に特に役立ちます。 利用可能な形式タイプは以下の通りです。

さまざまなデータ型に対する入力値とフォーマットされた出力を備えた組み込みの数値フォーマットを示すExcelスプレッドシート

各フォーマットタイプは何をしますか?

  • 一般:特定の書式なしで数字を表示するデフォルトの書式です。
  • 所要時間1: "mm:ss "のように、分と秒の単位で所要時間を表示します。
  • 所要時間2: "[h]:mm:ss." のように、所要時間を時、分、秒で表示します。
  • 継続時間3: "mm:ss.0 "のように、分、秒、ミリ秒単位で継続時間を表示します。
  • Accounting0:小数のない会計フォーマット、"#,##0_);(#,##0) "のような否定のための括弧。
  • Accounting0Red:小数のない会計フォーマット。"#,##0_);Red." のような否定の場合は赤。
  • Accounting2:小数点以下2桁の会計フォーマット。"#,##0.00;(#,##0.00) "のような否定の場合は括弧で囲む。
  • Accounting2Red:小数点以下2桁の会計書式。"#,##0.00_);Red." のような負の場合は赤色。
  • 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/yyy h:mm. "のような短い日付と時刻のフォーマット。
  • LongDate1:d-mmm-yy "のような月、日、年を持つ長い日付。
  • LongDate2:"d-mmm "のように曜日と月を省略した長い日付。
  • LongDate3:"mmm-yy "のように月と年を省略した長い日付。
  • 分数1:"# ?/?" のような1桁の分数値。
  • Fraction2:"# ??/??." のような2桁の分数値。
  • Scientific1:"##0.0E+0 "のような小数1桁の科学表記。
  • Scientific2:"0.00E+00 "のような小数点2桁の科学表記。
  • パーセント:"0%"のような小数のないパーセント。
  • Percent2:"0.00%"のような小数点以下2桁のパーセント。
  • 通貨0:小数のない通貨、"$#,##0_);($#,##0) "のような否定のための括弧。
  • Currency0Red:小数のない通貨。"$#,##0_);Red." のような否定の場合は赤。
  • 通貨2:小数点以下2桁の通貨。"$#,##0.00;($#,##0.00) "のように括弧で括る。
  • Currency2Red:小数点以下2桁の通貨で、"$#,##0.00_);Red. "のような否定の場合は赤になります。
  • Thousands0:"#,##0 "のような小数点以下の区切りのない、千区切りの数字。
  • Thousands2:"#,##0.00 "のような小数点以下2桁の数字。
  • Number0:"0 "のような小数のない数字。
  • Number2:"0.00 "のような小数点以下2桁の数字。
  • テキスト:のようなプレーンテキスト形式。

Excelのデータ書式設定と数値書式設定は、数値、日付、時刻、その他のデータのセル内での表示方法を制御し、可読性を高め、データの正確性を確保します。 データ形式を使用すると、パーセンテージや通貨などの特定の形式で情報を表示できます。 同様に、数値形式では小数点以下の桁数や表示オプションをカスタマイズできます。

異なる範囲に複数の書式を適用するにはどうすればよいですか?

実際のアプリケーションでは、スプレッドシートのさまざまな部分に異なるフォーマットを適用する必要がよくあります。 この例では、複数のデータ型を持つ財務レポートの書式設定について説明します。このアプローチは、データベースやその他のデータソースからC#でExcelにエクスポートする場合に特に役立ちます:

/* :path=/static-assets/excel/content-code-examples/how-to/set-cell-data-format-financial-report.cs */
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");
/* :path=/static-assets/excel/content-code-examples/how-to/set-cell-data-format-financial-report.cs */
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")
$vbLabelText   $csharpLabel

この例では、さまざまな書式を組み合わせて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がインストールされていないシステムに最適です。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 1,846,091 | バージョン: 2026.2 リリース