C# で Excel ファイルを作成する

Muhammad Zeeshan 2024年2月15日
C# で Excel ファイルを作成する

C# プログラミング言語を使用して、Excel スプレッドシートを生成する方法を学習します。

C#でExcelファイルを作成

次に進む前に、デバイスに .NET FrameworkMicrosoft Excel 16.0 Object Library コンポーネントがあるかどうかを確認してください。これにより、インストールが成功したことが確認されます。 ある場合は、続行できます。

このプロジェクトには Microsoft Visual Studio を使用します。

参照を追加

Excel ファイルを作成するには、Microsoft Excel 16.0 Object Libraryを参照として追加する必要があります。 その方法を知りたい場合は、以下の手順に従ってください。

  1. Microsoft Visual Studio を起動し、新しい C# プロジェクトを作成します。

  2. Solution ExplorerReferences オプションを右クリックし、メニューバーから Add Reference をクリックします。

    Microsoft Visual Studio - 参照の追加

  3. 新しい小さなウィンドウが表示されます。 左側のパネルから COM を選択し、リストから Microsoft Excel 16.0 Object Library を見つけて、"OK" をクリックします。

    Microsoft Visual Studio - リファレンス マネージャー

ファイルを作成する

次の例は、COM interop を使用して Excel ファイルを生成する方法を示しています。

  1. まず、次のライブラリをインポートします。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
  2. interop サービスにアクセスする前に、Excel アプリケーション オブジェクトを初期化します。

    using Microsoft.Office.Interop.Excel;
    using _excel = Microsoft.Office.Interop.Excel;
    
  3. excelapp という Excel アプリケーションを作成し、WorkbookWorksheet のオブジェクトを初期化します。これらをそれぞれ wbws と呼びます。

    _Application excelapp = new _excel.Application();
    Workbook wb;
    Worksheet ws;
    
  1. CreateFile() というメソッドを作成します。 メソッドが実行されると、ワークシートを 1つだけ含む新しい Excel ワークブックが作成され、新しい Excel ドキュメントが作成されます。

    public void CreateFile() {
      this.wb = excelapp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
      this.ws = this.wb.Worksheets[1];
    }
    
  2. 同様に、開いている現在のワークブックに空白のワークシートを追加する CreateSheet() というメソッドを作成します。

    public void CreateSheet() {
      Worksheet worksheet1 = excelapp.Worksheets.Add(After: this.ws);
    }
    
  3. ワークブックをユーザーが指定したパスに保存するメソッドを作成します。

    public void SaveAs(string filepath) {
      wb.SaveAs(filepath);
    }
    
  4. Main() メソッド内で、Excelfile という名前の Excel クラスのオブジェクトを初期化します。

    Excel Excelfile = new Excel();
    
  5. CreateFile() 関数を使用して、1つのシートだけで新しいワークブックを開始します。

    Excelfile.CreateFile();
    
  6. CreateSheet() 関数を使用してワークブックに新しいシートを追加します。

    Excelfile.CreateSheet();
    
  7. SaveAs() 関数を使用して、指定したパスにファイルを保存します。

    Excelfile.SaveAs(@"D:myarticle/ExcelfilebyZeeshan.xlsx");
    Excelfile.wb.Close();
    

完全なソース コード:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Office.Interop.Excel;
using _excel = Microsoft.Office.Interop.Excel;

namespace CreateExcelcsharpZeeshan {
  class Excel {
    _Application excelapp = new _excel.Application();
    Workbook wb;
    Worksheet ws;

    public void CreateFile() {
      this.wb = excelapp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
      this.ws = this.wb.Worksheets[1];
    }

    public void CreateSheet() {
      Worksheet worksheet1 = excelapp.Worksheets.Add(After: this.ws);
    }

    public void SaveAs(string filepath) {
      wb.SaveAs(filepath);
    }

    public static void Main(string[] args) {
      Excel Excelfile = new Excel();
      Excelfile.CreateFile();
      Excelfile.CreateSheet();
      Excelfile.SaveAs(@"D:myarticle/ExcelfilebyZeeshan.xlsx");
      Excelfile.wb.Close();
    }
  }
}

出力:

Excelファイルの作成に成功しました

Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn

関連記事 - Csharp Excel