C# で Excel ファイルに書き込む

Muhammad Maisam Abbas 2024年2月16日
C# で Excel ファイルに書き込む

このチュートリアルでは、C# で Excel ファイルにデータを書き込む方法について説明します。

C# の Microsoft.Office.Interop.Excel 名前空間を使用して Excel ファイルにデータを書き込む

Microsoft.Office.Interop.Excel 名前空間は、C# で MicrosoftExcel アプリケーションと対話するためのメソッドを提供します。この名前空間を使用して、新しい Excel シートの作成、既存のシートのデータの表示、既存の Excel シートの内容の変更などを行うことができます。次のコード例は、C# で Microsoft.Office.Interop.Excel 名前空間を使用して Excel ファイルにデータを書き込む方法を示しています。このアプローチを機能させるには、ソリューションエクスプローラーから Microsoft.Office.Interop.Excel 名前空間への参照を追加する必要があります。

using System;
using Excel = Microsoft.Office.Interop.Excel;
namespace write_to_excel {
  class Program {
    static void writeToExcel() {
      Excel.Application myexcelApplication = new Excel.Application();
      if (myexcelApplication != null) {
        Excel.Workbook myexcelWorkbook = myexcelApplication.Workbooks.Add();
        Excel.Worksheet myexcelWorksheet = (Excel.Worksheet)myexcelWorkbook.Sheets.Add();

        myexcelWorksheet.Cells[1, 1] = "Value 1";
        myexcelWorksheet.Cells[2, 1] = "Value 2";
        myexcelWorksheet.Cells[3, 1] = "Value 3";

        myexcelApplication.ActiveWorkbook.SaveAs(@"C:\abc.xls",
                                                 Excel.XlFileFormat.xlWorkbookNormal);

        myexcelWorkbook.Close();
        myexcelApplication.Quit();
      }
    }
    static void Main(string[] args) {
      writeToExcel();
    }
  }
}

上記のコードでは、最初に Excel.Application クラス myExcelApplication のインスタンスを初期化しました。次に、Excel.Workbook クラスのインスタンス myExcelWorkbook を初期化し、myExcelApplication.Workbooks.Add() 関数を使用して myExcelApplication にブックを追加しました。その後、Excel.Worksheet クラスのインスタンス myExcelWorksheet を初期化し、myExcelWorkbook.Sheets.Add() 関数を使用して Excel ワークシートをワークブックに追加しました。

次に、myExcelWorksheet.Cells[1, 1] = "Value 1"を使用して myExcelWroksheet 内のセルにデータを挿入しました。ここで、最初のインデックス 1 は行インデックスであり、2 番目のインデックス 1 は列インデックスです。Excel ファイルは myExcelApplication.ActiveWorkbook.SaveAs(path, format) 関数によって保存されました。最後に、セル内にすべてのデータを挿入して Excel ファイルを保存した後、myExcelWorkbook.Close() でブックを閉じ、C# で myExcelApp.Quit() 関数を使用してアプリケーションを終了しました。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

関連記事 - Csharp Excel