チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル».NET»Spire.XLS for .NET»データ»C#/VB.NET:Excel のワークシートにデータを書き込む
2023-03-24

C#/VB.NET:Excel のワークシートにデータを書き込む

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

C#/VB.NET:Excel のワークシートにデータを書き込む

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

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

C#/VB.NET:Excel のワークシートにデータを書き込む

ワークシートにデータテーブルを書き込む

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

C#/VB.NET:Excel のワークシートにデータを書き込む

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 769 times