0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

.NETでExcelのセルの表示形式を設定する方法

Posted at

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プロパティを使用して表示形式を設定します。

操作手順の例

  1. 必要なモジュールをインポートします。
  2. Workbookオブジェクトを作成します。
  3. Workbook.Worksheets[]プロパティで指定したワークシートを取得します。
  4. Worksheet.Range[]で指定したセルを取得し、CellRange.ValueまたはCellRange.NumberValueプロパティを用いて値を追加します。
  5. CellRange.NumberFormatプロパティを用いて形式コードを設定します。
  6. 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セルの表示形式を設定する方法

C#で指定形式の値をExcelセルに追加する方法

CellRangeクラスのプロパティを使用すると、セルまたはセル範囲に特定の型の値を直接追加できます。以下は、プロパティとそれぞれの対応する値の例です:

プロパティ
Text テキスト(string)
NumberValue 数値(Double)
BooleanValue ブール値(Boolean)
DateTimeValue 日付と時間(DateTime)
HtmlString HTML形式の文字列(string)

操作手順の例

  1. 必要なモジュールをインポートします。
  2. Workbookオブジェクトを作成します。
  3. Workbook.Worksheets[]プロパティで指定したワークシートを取得します。
  4. Worksheet.Range[]で指定したセルを取得します。
  5. CellRangeクラスのプロパティを使用して指定した型の値を追加します。
  6. 必要に応じてフォーマットを設定します。
  7. 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#で指定形式の値をExcelセルに追加する方法

本記事では、C#を用いて.NETプラットフォーム上でExcelセルの表示形式を設定し、指定形式の値をExcelセルに追加する方法を説明しました。これにより、Excelファイルの精密な自動化処理を実現できます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?