1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

C#を使ってExcelにデータを書き込む方法

Posted at

エクセルは、データ処理、分析、レポート作成に広く使われている表計算ソフトである。エクセル・フォーマットの使用は、ビジネス、学術、日常生活において非常に一般的です。この記事では、テキスト、数値、配列、DataTableを含む、無料の.NETライブラリを使用してExcelにデータを書き込む方法を詳しく説明します。

無料の.NET Excelライブラリ

この記事で使用しているフリーのExcelライブラリは Free Spire.XLS for .NETです。

このライブラリはVisual Studio > NuGet Package Managerで 「FreeSpire.XLS 」 を検索し、「Install 」 をクリックしてダウンロードできます。
または、以下のリンクから製品パッケージをダウンロードし、手動でdllを参照として追加することもできます。

Excelセルにテキストと数値を書き込む

  1. Workbookオブジェクトを作成します;
  2. 指定されたワークシートを取得する;
  3. 指定されたセルにデータを書き込む
    • テキストを書き込むWorksheet.Range[].Text またはWorksheet.Range[].Valueプロパティ;
    • 数値を書き込むWorksheet.Range[].Value2プロパティ;
  4. Excelファイルを保存します。

C#コード:

using Spire.Xls;

namespace WriteDataToCells
{
    class Program
    {
        static void Main(string[] args)
        {
            //エクセルのワークブックの作成
            Workbook workbook = new Workbook();

            //最初のワークシートを取得する
            Worksheet worksheet = workbook.Worksheets[0];

            //指定したセルにデータを書き込む
            worksheet.Range["A1"].Text = "商品ID";
            worksheet.Range["B1"].Text = "商品名";
            worksheet.Range["C1"].Value = "在庫状況";
            worksheet.Range["D1"].Value = "数量";

            worksheet.Range["A2"].Value = "SP-001";
            worksheet.Range["B2"].Value = "商品A";
            worksheet.Range["C2"].Value = "在庫補充";
            worksheet.Range["D2"].Value2 = 80;

            worksheet.Range["A3"].Value = "SP-002";
            worksheet.Range["B3"].Value = "商品B";
            worksheet.Range["C3"].Value = "使用中";
            worksheet.Range["D3"].Value2 = 102;

            //フォントスタイルの設定
            worksheet.Range["A1:D1"].Style.Font.IsBold = true;
            worksheet.Range["A1:D3"].Style.Font.Size = 11;

            //エクセルファイルを保存する
            workbook.SaveToFile("WriteData.xlsx", ExcelVersion.Version2016);
        }
    }
}

WriteExcelTextNumber.png

Excelワークシートに配列を書き込む

  1. Workbookオブジェクトを作成します;
  2. 指定されたワークシートの取得
  3. 2次元配列を定義する;
  4. Worksheet.InsertArray(Object\[,\] objectArray, int firstRow, int firstColumn) メソッドでワークシートの指定した位置に2次元配列のデータを挿入する;(APIリファレンス)
  5. Excelファイルを保存します。

C#コード:

using Spire.Xls;

namespace WriteArraysToWorksheet
{
    class Program
    {
        static void Main(string[] args)
        {
            //エクセルのワークブックの作成
            Workbook workbook = new Workbook();

            //最初のワークシートを取得する
            Worksheet worksheet = workbook.Worksheets[0];

            //二次元配列の作成
            string[,] twoDimensionalArray = new string[,]{

                {"SKU", "説明", "購入日", "購入価格"},
                {"SP7875", "品目 1", "2024/1/31", "2000"},
                {"TR87680", "品目 2", "2024/3/10", "1500"},
                {"MK676554", "品目 3", "2024/3/25", "560"}
            };

            //ワークシートに配列を書き込む
            worksheet.InsertArray(twoDimensionalArray, 1, 1);

            //フォントスタイルの設定
            worksheet.Range["A1:D1"].Style.Font.IsBold = true;
            worksheet.Range["A1:D4"].Style.Font.Size = 11;

            //エクセルファイルを保存する
            workbook.SaveToFile("InsertArrays.xlsx", ExcelVersion.Version2016);
        }
    }
}

WriteExcelArray.png

ExcelワークシートにDataTableを書き込む

  1. Workbookオブジェクトを作成します;
  2. 指定されたワークシートを取得する;
  3. DataTableオブジェクトを作成し、データを追加する;
  4. Worksheet.InsertDataTable(DataTable dataTable,bool columnHeaders, int firstRow, int firstColumn, bool transTypes) メソッドを使用して、DataTableのデータをワークシートに挿入する;(APIリファレンス)
  5. Excelファイルを保存する。

C#コード:

using System;
using System.Data;
using Spire.Xls;

namespace WriteDataTableToWorksheet
{
    class Program
    {
        static void Main(string[] args)
        {
            //エクセルのワークブックの作成
            Workbook workbook = new Workbook();

            //最初のワークシートを取得する
            Worksheet worksheet = workbook.Worksheets[0];

            //DataTableオブジェクトの作成
            DataTable dataTable = new DataTable();
            dataTable.Columns.Add("シリアル番号", typeof(Int32));
            dataTable.Columns.Add("商品", typeof(String));
            dataTable.Columns.Add("単価", typeof(Decimal));

            //行を作成し、データを追加する
            DataRow dr = dataTable.NewRow();
            dr[0] = 556788;
            dr[1] = "データケーブル";
            dr[2] = "8.5";
            dataTable.Rows.Add(dr);

            dr = dataTable.NewRow();
            dr[0] = 768087;
            dr[1] = "ワイヤレスマウス";
            dr[2] = "59.9";
            dataTable.Rows.Add(dr);

            dr = dataTable.NewRow();
            dr[0] = 336813;
            dr[1] = "ネットワークケーブル";
            dr[2] = "15.5";
            dataTable.Rows.Add(dr);

            //データ・テーブルをワークシートに書き込む
            worksheet.InsertDataTable(dataTable, true, 1, 1, true);

            //フォントスタイルの設定
            worksheet.Range["A1:C1"].Style.Font.IsBold = true;
            worksheet.Range["A1:C4"].Style.Font.Size = 11;

            //エクセルファイルを保存する
            workbook.SaveToFile("WriteDataTable.xlsx", ExcelVersion.Version2016);
        }
    }
}

WriteExcelDatatable.png

上記の3つの例では、様々な種類のデータをエクセルのワークシートに書き込むことができます。


▶ Excelでさらにデータを分析したり、チャートやその他の要素を挿入する必要がある場合は、ここをクリックして無料のSpire.XLSライブラリが提供する機能のチュートリアルをご覧ください:

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?