Excelセルの表示形式(数値書式)を設定することは、Excelドキュメントを作成、編集、またはフォーマットする際の重要なステップの一つです。これにより、データが正確に表示されるだけでなく、データの可読性やプロフェッショナルさも向上します。適切な表示形式は、数値やデータの意味を直感的に理解しやすくし、誤解を減らすだけでなく、レポートの自動生成や財務計算などのアプリケーションシナリオにおいても、データの正確性と一貫性を保証するための重要な手段です。.NETプラットフォームを使用することで、C#を用いてExcelセルの表示形式を簡単に設定し、自動化された処理を実現できます。
本記事では、C#を使用して.NETプログラム内でExcelセルの表示形式を設定する方法について説明し、Excelファイル処理の効率化をサポートします。
この記事で使用する方法には、無料のFree Spire.XLS for .NETライブラリが必要です。NuGetからインストールできます。
PM> Install-Package FreeSpire.XLS
C#でExcelセルの表示形式を設定する方法
Excelセルの表示形式は表示形式コードを用いて設定します。CellRange.Value
またはCellRange.NumberValue
プロパティを使用してセルに値を追加した後、CellRange.NumberFormat
プロパティを使用して表示形式を設定します。
操作手順の例
- 必要なモジュールをインポートします。
-
Workbook
オブジェクトを作成します。 -
Workbook.Worksheets[]
プロパティで指定したワークシートを取得します。 -
Worksheet.Range[]
で指定したセルを取得し、CellRange.Value
またはCellRange.NumberValue
プロパティを用いて値を追加します。 -
CellRange.NumberFormat
プロパティを用いて形式コードを設定します。 -
Workbook.SaveToFile()
メソッドでワークブックを保存し、リソースを解放します。
コード例
using System.Drawing;
using Spire.Xls;
class Program
{
static void Main(string[] args)
{
// 新しいワークブックのインスタンスを作成
Workbook workbook = new Workbook();
// 最初のワークシートを取得
Worksheet sheet = workbook.Worksheets[0];
// タイトルを追加
sheet.Range["B1"].Text = "数値形式";
sheet.Range["B1"].Style.Font.IsBold = true;
sheet.Range["B1"].Style.Font.FontName = "HarmonyOS Sans SC";
sheet.Range["B1:C1"].Merge();
sheet.Range["B1:C1"].Style.HorizontalAlignment = HorizontalAlignType.Center;
// 数値形式の例と値を追加
AddNumberFormatExample(sheet, "B3", "C3", "0", "1234.5678"); // 整数形式
AddNumberFormatExample(sheet, "B4", "C4", "0.00", "1234.5678"); // 小数点以下2桁
AddNumberFormatExample(sheet, "B5", "C5", "#,##0.00", "1234.5678"); // カンマ区切り、小数点以下2桁
AddNumberFormatExample(sheet, "B6", "C6", "$#,##0.00", "1234.5678"); // 通貨形式
// 負の数の例
AddNumberFormatExample(sheet, "B7", "C7", "0;[Red]-0", "-1234.5678"); // 負の数を赤で表示
AddNumberFormatExample(sheet, "B8", "C8", "0.00;[Red]-0.00", "-1234.5678"); // 小数点以下2桁、負の数を赤で表示
// 科学記数法とパーセント形式の例
AddNumberFormatExample(sheet, "B9", "C9", "0.00E+00", "1234.5678"); // 科学記数法
AddNumberFormatExample(sheet, "B10", "C10", "0.00%", "0.5678"); // パーセント形式
// 日付と時間形式の例
AddNumberFormatExample(sheet, "B11", "C11", "yyyy-MM-dd", "44930.0"); // Excelの日付値 2023-01-01 に対応
AddNumberFormatExample(sheet, "B12", "C12", "HH:mm:ss", "0.75"); // Excelの時間値 18:00:00 に対応
// テキスト形式の例
AddNumberFormatExample(sheet, "B13", "C13", "@", "テキスト例"); // テキスト形式
// フォーマットを設定
sheet.Range["B3:B13"].Style.Color = Color.Gray;
sheet.Range["C3:C13"].Style.Color = Color.LightGray;
sheet.Columns[1].ColumnWidth = 24;
sheet.Columns[2].ColumnWidth = 24;
// ワークブックをファイルに保存
workbook.SaveToFile("output/Excelセル数値形式設定.xlsx", ExcelVersion.Version2016);
}
private static void AddNumberFormatExample(Worksheet sheet, string textCell, string valueCell, string format, string value)
{
sheet.Range[textCell].Text = format; // 数値形式コードを表示
sheet.Range[valueCell].Value = value; // 値を追加
sheet.Range[valueCell].NumberFormat = format; // 数値形式を適用
}
}
C#で指定形式の値をExcelセルに追加する方法
CellRange
クラスのプロパティを使用すると、セルまたはセル範囲に特定の型の値を直接追加できます。以下は、プロパティとそれぞれの対応する値の例です:
プロパティ | 値 |
---|---|
Text |
テキスト(string) |
NumberValue |
数値(Double) |
BooleanValue |
ブール値(Boolean) |
DateTimeValue |
日付と時間(DateTime) |
HtmlString |
HTML形式の文字列(string) |
操作手順の例
- 必要なモジュールをインポートします。
-
Workbook
オブジェクトを作成します。 -
Workbook.Worksheets[]
プロパティで指定したワークシートを取得します。 -
Worksheet.Range[]
で指定したセルを取得します。 -
CellRange
クラスのプロパティを使用して指定した型の値を追加します。 - 必要に応じてフォーマットを設定します。
-
Workbook.SaveToFile()
メソッドでワークブックを保存し、リソースを解放します。
コード例
using System;
using Spire.Xls;
class Program
{
static void Main(string[] args)
{
// 新しいワークブックのインスタンスを作成
Workbook workbook = new Workbook();
// 最初のワークシートを取得
Worksheet sheet = workbook.Worksheets[0];
// テキスト値を追加
sheet.Range["C3"].Text = "サンプルテキスト";
// 数値を追加
sheet.Range["C4"].NumberValue = 1234.5678;
// ブール値を追加
sheet.Range["C5"].BooleanValue = true;
// 日付と時間値を追加
sheet.Range["C6"].DateTimeValue = new DateTime(2024, 12, 12);
// HTML文字列を追加
sheet.Range["C7"].HtmlString = "<b>太字テキスト</b>";
// セルをフォーマット
sheet.Range["C3:C7"].Style.HorizontalAlignment = HorizontalAlignType.Center;
sheet.Range["C3:C7"].Style.VerticalAlignment = VerticalAlignType.Center;
sheet.Range["C3:C7"].Style.Font.Size = 14;
// 列幅を自動調整
for (int i = 3; i <= 7; i++)
{
sheet.AutoFitColumn(i - 1); // 注意:C#では列インデックスは0から始まります
}
// ワークブックを保存
workbook.SaveToFile("output/指定形式の値を追加.xlsx", ExcelVersion.Version2016);
// リソースを解放
workbook.Dispose();
}
}
本記事では、C#を用いて.NETプラットフォーム上でExcelセルの表示形式を設定し、指定形式の値をExcelセルに追加する方法を説明しました。これにより、Excelファイルの精密な自動化処理を実現できます。