Excel-Datei in C# erstellen

Muhammad Zeeshan 15 Februar 2024
Excel-Datei in C# erstellen

Mit der Programmiersprache C# lernen wir, wie man eine Excel-Tabelle generiert.

Excel-Datei in C# erstellen

Bevor Sie fortfahren, überprüfen Sie, ob Ihr Gerät über die Komponente Microsoft Excel 16.0 Object Library des .NET Framework verfügt, die eine erfolgreiche Installation bestätigt. Wenn dies der Fall ist, können Sie fortfahren.

Wir werden Microsoft Visual Studio für dieses Projekt verwenden.

Referenz hinzufügen

Um eine Excel-Datei zu erstellen, müssen wir die Microsoft Excel 16.0 Object Library als Referenz hinzufügen. Befolgen Sie diese Schritte unten, wenn Sie wissen möchten, wie das geht.

  1. Starten Sie Microsoft Visual Studio und erstellen Sie ein neues C#-Projekt.

  2. Klicken Sie im Solution Explorer mit der rechten Maustaste auf die Option Referenzen und klicken Sie in der Menüleiste auf Referenz hinzufügen.

    Microsoft Visual Studio – Referenz hinzufügen

  3. Ein neues kleines Fenster erscheint. Wählen Sie im linken Bereich COM und suchen Sie dann Microsoft Excel 16.0 Object Library aus der Liste und klicken Sie auf "OK".

    Microsoft Visual Studio – Referenzmanager

Erstellen Sie die Datei

Das folgende Beispiel zeigt, wie eine Excel-Datei durch die Verwendung von COM interop generiert wird.

  1. Importieren Sie zunächst die folgenden Bibliotheken.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
  2. Initialisieren Sie das Excel-Anwendungsobjekt, bevor Sie auf die interop-Dienste zugreifen.

    using Microsoft.Office.Interop.Excel;
    using _excel = Microsoft.Office.Interop.Excel;
    
  3. Erstellen Sie eine Excel-Anwendung namens excelapp und initialisieren Sie dann das Objekt Workbook und Worksheet, das wir als wb bzw. ws bezeichnen.

    _Application excelapp = new _excel.Application();
    Workbook wb;
    Worksheet ws;
    
  1. Erstellen Sie eine Methode namens CreateFile(). Wenn die Methode ausgeführt wird, erstellt sie ein neues Excel-Dokument, indem sie eine neue Excel-Arbeitsmappe erstellt, die nur ein Arbeitsblatt enthält.

    public void CreateFile() {
      this.wb = excelapp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
      this.ws = this.wb.Worksheets[1];
    }
    
  2. Erstellen Sie auf ähnliche Weise eine Methode namens CreateSheet(), die der aktuell geöffneten Arbeitsmappe ein leeres Arbeitsblatt hinzufügt.

    public void CreateSheet() {
      Worksheet worksheet1 = excelapp.Worksheets.Add(After: this.ws);
    }
    
  3. Erstellen Sie eine Methode, die die Arbeitsmappe in einem vom Benutzer bereitgestellten Pfad speichert.

    public void SaveAs(string filepath) {
      wb.SaveAs(filepath);
    }
    
  4. Innerhalb der Methode Main() initialisieren wir ein Objekt der Klasse Excel namens Excelfile.

    Excel Excelfile = new Excel();
    
  5. Beginnen Sie mit der Funktion CreateFile() eine neue Arbeitsmappe mit nur einem Blatt.

    Excelfile.CreateFile();
    
  6. Fügen Sie der Arbeitsmappe mit der Funktion CreateSheet() ein neues Blatt hinzu.

    Excelfile.CreateSheet();
    
  7. Speichern Sie die Datei mit der Funktion SaveAs() in einem angegebenen Pfad.

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

Vollständiger Quellcode:

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();
    }
  }
}

Ausgang:

Excel-Datei erfolgreich erstellt

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

Verwandter Artikel - Csharp Excel