Excel のスプレッドシートは、データを整理し計算するために使用されるグリッドベースの拡張可能なファイルです。人々はビジネスや個人の必要に応じてスプレッドシートを作成することがよくあります。Excel のスプレッドシートにデータを書き込むためには、プログラミング手法を使用することをお勧めします。これにより時間を節約でき、誤りを避けることができます。この記事では、Spire.XLS for .NET を使用して、C# および VB.NET でプログラムによって Excel 文書を作成し、Excel のシートにデータを書き込む方法を紹介します。
Spire.XLS for .NET をインストールします
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
セルにテキストまたは数値を書き込む
ワークシート内の特定のセルには、Worksheet.Range[int row, int column] プロパティでアクセスできます。次に、XlsRange.Value または XlsRange.Value2 プロパティを使用して、テキスト値または数値をセルに追加できます。詳細な手順は次のとおりです。
- Workbook オブジェクトを作成します。
- Workbook.Worksheets[] プロパティを使用して最初のシートを取得します。
- Workhseet.Range[] プロパティを使用して特定のセルを取得します。
- XlsRange.Value または XlsRange.Value2 メソッド を使用して、指定したセルにテキスト値または数値を追加します。
- Workbook.SaveToFile() メソッドを使用してワークブックを Excel ファイルに保存します。
- C#
- VB.NET
using Spire.Xls;
namespace WriteDataToCells
{
class Program
{
static void Main(string[] args)
{
//Workbookオブジェクトを作成する
Workbook workbook = new Workbook();
//最初のシートを取得する
Worksheet worksheet = workbook.Worksheets[0];
//指定したセルにデータを書き込む
worksheet.Range[1, 1].Value = "名前";
worksheet.Range[1, 2].Value = "年齢";
worksheet.Range[1, 3].Value = "部門";
worksheet.Range[1, 4].Value = "雇用日";
worksheet.Range[2, 1].Value = "中村";
worksheet.Range[2, 2].Value2 = 29;
worksheet.Range[2, 3].Value = "研究部門";
worksheet.Range[2, 4].Value = "2019-07-01";
worksheet.Range[3, 1].Value = "田中";
worksheet.Range[3, 2].Value2 = 31;
worksheet.Range[3, 3].Value = "生産部門";
worksheet.Range[3, 4].Value = "2015-04-27";
//列幅を自動調整する
worksheet.AllocatedRange.AutoFitColumns();
//最初の行にスタイルを適用する
CellStyle style = workbook.Styles.Add("newStyle");
style.Font.IsBold = true;
worksheet.Range[1, 1, 1, 4].Style = style;
//ファイルに保存する
workbook.SaveToFile("WriteToCells.xlsx", ExcelVersion.Version2016);
}
}
}
Imports Spire.Xls
Namespace WriteDataToCells
Class Program
Shared Sub Main(ByVal args() As String)
'Workbookオブジェクトを作成する
Dim workbook As Workbook = New Workbook()
'最初のシートを取得する
Dim worksheet As Worksheet = workbook.Worksheets(0)
'指定したセルにデータを書き込む
worksheet.Range(1, 1).Value = "名前"
worksheet.Range(1, 2).Value = "年齢"
worksheet.Range(1, 3).Value = "部門"
worksheet.Range(1, 4).Value = "雇用日"
worksheet.Range(2, 1).Value = "中村"
worksheet.Range(2, 2).Value2 = 29
worksheet.Range(2, 3).Value = "研究部門"
worksheet.Range(2, 4).Value = "2019-07-01"
worksheet.Range(3, 1).Value = "田中"
worksheet.Range(3, 2).Value2 = 31
worksheet.Range(3, 3).Value = "生産部門"
worksheet.Range(3, 4).Value = "2015-04-27"
'列幅を自動調整する
worksheet.AllocatedRange.AutoFitColumns()
'最初の行にスタイルを適用する
Dim style As CellStyle = workbook.Styles.Add("newStyle")
style.Font.IsBold = True
worksheet.Range(1, 1, 1, 4).Style = style
'ファイルに保存する
workbook.SaveToFile("WriteToCells.xlsx", ExcelVersion.Version2016)
End Sub
End Class
End Namespace
ワークシートに配列を書き込む
Spire.XLS for .NET には Worksheet.InsertArrary() メソッドが用意されており、プログラマはワークシートの指定されたセル範囲に1次元配列または2次元配列を書き込むことができます。ワークシートに配列を書き込む手順は次のとおりです。
- Workbook オブジェクトを作成します。
- Workbook.Worksheets[] プロパティを使用して最初のシートを取得します。
- 1次元配列と2次元配列を作成します。
- Worksheet.InsertArray() メソッドを使用して配列をシートに挿入します。
- Workbook.SaveToFile() メソッドを使用してワークブックを Excel ファイルに保存します。
- C#
- VB.NET
using Spire.Xls;
namespace WriteArraysToWorksheet
{
class Program
{
static void Main(string[] args)
{
//Workbookオブジェクトを作成する
Workbook workbook = new Workbook();
//最初のシートを取得する
Worksheet worksheet = workbook.Worksheets[0];
//1次元配列を作成する
string[] oneDimensionalArray = new string[] { "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日" };
//シートの最初の行に配列を書き込む
worksheet.InsertArray(oneDimensionalArray, 1, 1, false);
//2次元配列を作成する
string[,] twoDimensionalArray = new string[,]{
{"名前", "年齢", "性別", "部門", "電話番号"},
{"中村", "25", "男性", "研究部門","654214"},
{"田中", "24", "女性", "生産部門","624847"},
{"小林", "26", "女性", "営業部門","624758"}
};
//セルA 3からシートに配列を書き込む
worksheet.InsertArray(twoDimensionalArray, 3, 1);
//特定のセル範囲の列幅を自動的に調整する
worksheet.AllocatedRange.AutoFitColumns();
//1行目と3行目にスタイルを適用する
CellStyle style = workbook.Styles.Add("newStyle");
style.Font.IsBold = true;
worksheet.Range[1, 1, 1, 6].Style = style;
worksheet.Range[3, 1, 3, 6].Style = style;
//ファイルに保存する
workbook.SaveToFile("InsertArrays.xlsx", ExcelVersion.Version2016);
}
}
}
Imports Spire.Xls
Namespace WriteArraysToWorksheet
Class Program
Shared Sub Main(ByVal args() As String)
'Workbookオブジェクトを作成する
Dim workbook As Workbook = New Workbook()
'最初のシートを取得する
Dim worksheet As Worksheet = workbook.Worksheets(0)
'1次元配列を作成する
Dim oneDimensionalArray() As String = New String() { "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"}
'シートの最初の行に配列を書き込む
worksheet.InsertArray(oneDimensionalArray, 1, 1, False)
'2次元配列を作成する
Dim twoDimensionalArray(,) As String = New String(,) {
{"名前", "年齢", "性別", "部門", "電話番号"},
{"中村", "25", "男性", "研究部門","654214"},
{"田中", "24", "女性", "生産部門","624847"},
{"小林", "26", "女性", "営業部門","624758" }
}
'セルA 3からシートに配列を書き込む
worksheet.InsertArray(twoDimensionalArray, 3, 1)
'特定のセル範囲の列幅を自動的に調整する
worksheet.AllocatedRange.AutoFitColumns()
'1行目と3行目にスタイルを適用する
Dim style As CellStyle = workbook.Styles.Add("newStyle")
style.Font.IsBold = True
worksheet.Range(1, 1, 1, 6).Style = style
worksheet.Range(3, 1, 3, 6).Style = style
'ファイルに保存する
workbook.SaveToFile("InsertArrays.xlsx", ExcelVersion.Version2016)
End Sub
End Class
End Namespace
ワークシートにデータテーブルを書き込む
DataTable からシートにデータをインポートするには、Worksheet.InsertDataTable() メソッドを使用します。詳細な手順は次のとおりです。
- Workbook オブジェクトを作成します。
- Workbook.Worksheets[] プロパティを使用して、最初のシート取得します。
- ランダム データを含む DataTable を作成します。
- Worksheet.InsertDataTable() メソッドを使用して、シートの指定された位置に DataTable を書き込みます。
- Workbook.SaveToFile() メソッドを使用してワークブックを Excel ファイルに保存します。
- C#
- VB.NET
using System;
using System.Data;
using Spire.Xls;
namespace WriteDataTableToWorksheet
{
class Program
{
static void Main(string[] args)
{
//Workbookオブジェクトを作成する
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(String));
//行を作成してデータを追加する
DataRow dr = dataTable.NewRow();
dr[0] = 512900512;
dr[1] = "ワイヤレスマウス";
dr[2] = "$85";
dataTable.Rows.Add(dr);
dr = dataTable.NewRow();
dr[0] = 512900637;
dr[1] = "キーボード";
dr[2] = "$99";
dataTable.Rows.Add(dr);
dr = dataTable.NewRow();
dr[0] = 512901829;
dr[1] = "Bluetoothスピーカー";
dr[2] = "$125";
dataTable.Rows.Add(dr);
dr = dataTable.NewRow();
dr[0] = 512900386;
dr[1] = "USBメモリ";
dr[2] = "$89";
dataTable.Rows.Add(dr);
//シートにデータテーブルを書き込む
worksheet.InsertDataTable(dataTable, true, 1, 1, true);
//特定のセル範囲の列幅を自動的に調整する
worksheet.AllocatedRange.AutoFitColumns();
//1行目と3行目にスタイルを適用する
CellStyle style = workbook.Styles.Add("newStyle");
style.Font.IsBold = true;
worksheet.Range[1, 1, 1, 3].Style = style;
//ファイルに保存する
workbook.SaveToFile("InsertDataTable.xlsx", ExcelVersion.Version2016);
}
}
}
Imports System
Imports System.Data
Imports Spire.Xls
Namespace WriteDataTableToWorksheet
Class Program
Shared Sub Main(ByVal args() As String)
'Workbookオブジェクトを作成する
Dim workbook As Workbook = New Workbook()
'最初のシートを取得する
Dim worksheet As Worksheet = workbook.Worksheets(0)
'DataTableオブジェクトを作成する
Dim dataTable As DataTable = New DataTable()
dataTable.Columns.Add("スキュー", Type.GetType(Int32))
dataTable.Columns.Add("製品", Type.GetType(String))
dataTable.Columns.Add("価格", Type.GetType(String))
'行を作成してデータを追加する
Dim dr As DataRow = dataTable.NewRow()
dr(0) = 512900512
dr(1) = "ワイヤレスマウス"
dr(2) = "$85"
dataTable.Rows.Add(dr)
dr = dataTable.NewRow()
dr(0) = 512900637
dr(1) = "キーボード"
dr(2) = "$99"
dataTable.Rows.Add(dr)
dr = dataTable.NewRow()
dr(0) = 512901829
dr(1) = "Bluetoothスピーカー"
dr(2) = "$125"
dataTable.Rows.Add(dr)
dr = dataTable.NewRow()
dr(0) = 512900386
dr(1) = "USBメモリ"
dr(2) = "$89"
dataTable.Rows.Add(dr)
'シートにデータテーブルを書き込む
worksheet.InsertDataTable(dataTable, True, 1, 1, True)
'特定のセル範囲の列幅を自動的に調整する
worksheet.AllocatedRange.AutoFitColumns()
'1行目と3行目にスタイルを適用する
Dim style As CellStyle = workbook.Styles.Add("newStyle")
style.Font.IsBold = True
worksheet.Range(1, 1, 1, 3).Style = style
'ファイルに保存する
workbook.SaveToFile("InsertDataTable.xlsx", ExcelVersion.Version2016)
End Sub
End Class
End Namespace
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。