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 セルをフォーマットできます。

クイックスタート: 一行で単一セルに組み込みフォーマットを適用する

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

  1. IronXL をNuGetパッケージマネージャでインストール

    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スプレッドシート

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

  • General: 特定の書式設定を行わずに数値を表示するデフォルトの形式。
  • Duration1: 時間を"mm:ss"のように分と秒で表示します。
  • Duration2: 時間を"[h]:mm:ss"のように、時間、分、秒で表示します。
  • Duration3: 時間を"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"のように、秒と午前/午後を含む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: 小数点以下2桁の通貨表示。負の数値には括弧を使用(例: "$#,##0.00;($#,##0.00)")。
  • Currency2Red: 小数点以下2桁の通貨表示。負の数値は赤色で表示(例: "$#,##0.00_);Red.")。
  • Thousands0: 千の位区切り記号付きで、小数点のない数値(例: "#,##0.")
  • Thousands2: 千の位区切り記号付き、小数点以下2桁の形式(例: "#,##0.00.")
  • 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")
$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 ダウンロード 2,052,917 | バージョン: 2026.6 just released
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronXL.Excel
サンプルを実行する あなたのデータがスプレッドシートになるのを見る。