エクセルは、データ処理、分析、レポート作成に広く使われている表計算ソフトである。エクセル・フォーマットの使用は、ビジネス、学術、日常生活において非常に一般的です。この記事では、テキスト、数値、配列、DataTableを含む、無料の.NETライブラリを使用してExcelにデータを書き込む方法を詳しく説明します。
無料の.NET Excelライブラリ
この記事で使用しているフリーのExcelライブラリは Free Spire.XLS for .NETです。
このライブラリはVisual Studio > NuGet Package Managerで 「FreeSpire.XLS 」 を検索し、「Install 」 をクリックしてダウンロードできます。
または、以下のリンクから製品パッケージをダウンロードし、手動でdllを参照として追加することもできます。
Excelセルにテキストと数値を書き込む
-
Workbook
オブジェクトを作成します; - 指定されたワークシートを取得する;
- 指定されたセルにデータを書き込む
-
テキストを書き込む:
Worksheet.Range[].Text
またはWorksheet.Range[].Value
プロパティ; -
数値を書き込む:
Worksheet.Range[].Value2
プロパティ;
-
テキストを書き込む:
- 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);
}
}
}
Excelワークシートに配列を書き込む
-
Workbook
オブジェクトを作成します; - 指定されたワークシートの取得
- 2次元配列を定義する;
-
Worksheet.InsertArray(Object\[,\] objectArray, int firstRow, int firstColumn)
メソッドでワークシートの指定した位置に2次元配列のデータを挿入する;(APIリファレンス) - 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);
}
}
}
ExcelワークシートにDataTableを書き込む
-
Workbook
オブジェクトを作成します; - 指定されたワークシートを取得する;
-
DataTable
オブジェクトを作成し、データを追加する; -
Worksheet.InsertDataTable(DataTable dataTable,bool columnHeaders, int firstRow, int firstColumn, bool transTypes)
メソッドを使用して、DataTableのデータをワークシートに挿入する;(APIリファレンス) - 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);
}
}
}
上記の3つの例では、様々な種類のデータをエクセルのワークシートに書き込むことができます。
▶ Excelでさらにデータを分析したり、チャートやその他の要素を挿入する必要がある場合は、ここをクリックして無料のSpire.XLSライブラリが提供する機能のチュートリアルをご覧ください: