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.
-
Starten Sie
Microsoft Visual Studio
und erstellen Sie ein neues C#-Projekt. -
Klicken Sie im
Solution Explorer
mit der rechten Maustaste auf die OptionReferenzen
und klicken Sie in der Menüleiste aufReferenz hinzufügen
. -
Ein neues kleines Fenster erscheint. Wählen Sie im linken Bereich
COM
und suchen Sie dannMicrosoft Excel 16.0 Object Library
aus der Liste und klicken Sie auf"OK"
.
Erstellen Sie die Datei
Das folgende Beispiel zeigt, wie eine Excel-Datei durch die Verwendung von COM interop
generiert wird.
-
Importieren Sie zunächst die folgenden Bibliotheken.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
-
Initialisieren Sie das Excel-Anwendungsobjekt, bevor Sie auf die
interop
-Dienste zugreifen.using Microsoft.Office.Interop.Excel; using _excel = Microsoft.Office.Interop.Excel;
-
Erstellen Sie eine Excel-Anwendung namens
excelapp
und initialisieren Sie dann das ObjektWorkbook
undWorksheet
, das wir alswb
bzw.ws
bezeichnen._Application excelapp = new _excel.Application(); Workbook wb; Worksheet ws;
-
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]; }
-
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); }
-
Erstellen Sie eine Methode, die die Arbeitsmappe in einem vom Benutzer bereitgestellten Pfad speichert.
public void SaveAs(string filepath) { wb.SaveAs(filepath); }
-
Innerhalb der Methode
Main()
initialisieren wir ein Objekt der KlasseExcel
namensExcelfile
.Excel Excelfile = new Excel();
-
Beginnen Sie mit der Funktion
CreateFile()
eine neue Arbeitsmappe mit nur einem Blatt.Excelfile.CreateFile();
-
Fügen Sie der Arbeitsmappe mit der Funktion
CreateSheet()
ein neues Blatt hinzu.Excelfile.CreateSheet();
-
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:
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