Erstellen einer XLSX-Datei in C#;

Chaknith Bin
Chaknith Bin
16. Juni 2020
Aktualisiert 20. Oktober 2024
Teilen Sie:
This article was translated from English: Does it need improvement?
Translated
View the article in English

Angesichts des hohen Automatisierungsgrads im Geschäftsleben müssen wir häufig mit Excel-Tabellen in .NET-Anwendungen arbeiten, einschließlich der Erstellung von Tabellenkalkulationen und dem programmgesteuerten Einfügen von Daten. In diesem Tutorial werden wir das Erstellen von Excel-Tabellen in verschiedenen Formaten (.xls, .xlsx, .csv und .tsv), das Festlegen von Zellformaten und das Einfügen von Daten mit C#-Programmierung lernen.


How to Create XLXL File in C#

  1. Installieren Sie die Excel-Bibliothek, um XLSX-Dateien zu erstellen.

  2. Verwenden Sie das Workbook-Objekt, um eine Excel-Datei zu erstellen.

  3. Wählen Sie ein Standard-Worksheet aus.

  4. Fügen Sie Daten zum Standard-Worksheet hinzu.

  5. Speichern Sie die Excel-Datei auf der Festplatte.

    Schritt 1

1. IronXL DLL herunterladen

IronXL bietet den einfachsten Ansatz zur Erstellung von Excel-Dateien (.xlsx) in C#-Projekten. Laden Sie die DLL herunter oder installieren Sie NuGet und verwenden Sie es kostenlos für die Entwicklung.

Install-Package IronXL.Excel

Anleitung zum Tutorial

2. Eine Arbeitsmappe erstellen

Mit dieser Software können wir Daten einfügen und auch Zelleigenschaften wie Schriftarten oder Rahmen festlegen.

2.1 .XLSX-Datei erstellen

Erstellen Sie ein WorkBook mit diesem Code, um eine neue Excel-Datei zu erstellen, die standardmäßig die Erweiterung .xlsx hat.

/**
Create XLSX File
anchor-create-a-workbook
**/
WorkBook wb = WorkBook.Create();
/**
Create XLSX File
anchor-create-a-workbook
**/
WorkBook wb = WorkBook.Create();
'''
'''Create XLSX File
'''anchor-create-a-workbook
'''*
Dim wb As WorkBook = WorkBook.Create()
$vbLabelText   $csharpLabel

2.2 .XLS-Datei erstellen

Wenn Sie eine Datei mit der Erweiterung .xls erstellen möchten, verwenden Sie:

WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
$vbLabelText   $csharpLabel

3. Excel WorkSheet erstellen

Nachdem Sie ein WorkBook im Dateiformat Ihrer Wahl erstellt haben, erstellen Sie ein Excel-WorkSheet. Dieser Code erstellt ein neues Arbeitsblatt ws1 mit dem Namen sheet1 in der Arbeitsmappe wb.

WorkSheet ws1 = wb.CreateWorkSheet("sheet1");
WorkSheet ws1 = wb.CreateWorkSheet("sheet1");
Dim ws1 As WorkSheet = wb.CreateWorkSheet("sheet1")
$vbLabelText   $csharpLabel

3.1 Mehrere WorkSheets erstellen

Eine Reihe von Arbeitsblättern kann auf die gleiche Weise erstellt werden:

/**
Create WorkSheets
anchor-create-an-excel-worksheet
**/
WorkSheet ws2 = wb.CreateWorkSheet("sheet2");
WorkSheet ws3 = wb.CreateWorkSheet("sheet3");
/**
Create WorkSheets
anchor-create-an-excel-worksheet
**/
WorkSheet ws2 = wb.CreateWorkSheet("sheet2");
WorkSheet ws3 = wb.CreateWorkSheet("sheet3");
'''
'''Create WorkSheets
'''anchor-create-an-excel-worksheet
'''*
Dim ws2 As WorkSheet = wb.CreateWorkSheet("sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("sheet3")
$vbLabelText   $csharpLabel

4. Daten in WorkSheets einfügen

Jetzt können wir ganz einfach Daten in die Zellen des Arbeitsblatts einfügen.

 worksheet ["CellAddress"].Value = "MyValue";
 worksheet ["CellAddress"].Value = "MyValue";
worksheet ("CellAddress").Value = "MyValue"
$vbLabelText   $csharpLabel

4.1 Daten in ein bestimmtes Arbeitsblatt einfügen

Zum Beispiel können Daten im Arbeitsblatt ws1 gezielt eingefügt werden. Der untenstehende Code wird Hello World in die A1-Zelle des Arbeitsblatts ws1 schreiben.

/**
Insert WorkSheet Data
anchor-insert-data-into-worksheets
**/
ws1 ["A1"].Value = "Hello World";
/**
Insert WorkSheet Data
anchor-insert-data-into-worksheets
**/
ws1 ["A1"].Value = "Hello World";
'''
'''Insert WorkSheet Data
'''anchor-insert-data-into-worksheets
'''*
ws1 ("A1").Value = "Hello World"
$vbLabelText   $csharpLabel

4.2 Daten in mehrere Zellen einfügen

Es ist auch möglich, Daten mit Hilfe der Bereichsfunktion in viele Zellen zu schreiben. Der untenstehende Code wird NewValue von Zelle A3 bis A8 im Arbeitsblatt ws1 schreiben.

ws1 ["A3:A8"].Value = "NewValue";
ws1 ["A3:A8"].Value = "NewValue";
ws1 ("A3:A8").Value = "NewValue"
$vbLabelText   $csharpLabel

5. Ein Beispielprojekt erstellen

Wir werden eine neue Excel-Datei Sample.xlsx erstellen und Daten darin einfügen.

/**
Sample Project
anchor-make-a-sample-project
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Create();  
    WorkSheet ws1 = wb.CreateWorkSheet("sheet1");                    
    ws1 ["A1"].Value = "Hello";           
    ws1 ["A2"].Value = "World";
    ws1 ["B1:B8"].Value = "RangeValue";
    wb.SaveAs("Sample.xlsx");
}
/**
Sample Project
anchor-make-a-sample-project
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Create();  
    WorkSheet ws1 = wb.CreateWorkSheet("sheet1");                    
    ws1 ["A1"].Value = "Hello";           
    ws1 ["A2"].Value = "World";
    ws1 ["B1:B8"].Value = "RangeValue";
    wb.SaveAs("Sample.xlsx");
}
'''
'''Sample Project
'''anchor-make-a-sample-project
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	Dim wb As WorkBook = WorkBook.Create()
	Dim ws1 As WorkSheet = wb.CreateWorkSheet("sheet1")
	ws1 ("A1").Value = "Hello"
	ws1 ("A2").Value = "World"
	ws1 ("B1:B8").Value = "RangeValue"
	wb.SaveAs("Sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

Hinweis: Standardmäßig wird die neue Excel-Datei im bin\Debug-Ordner des Projekts erstellt. Wenn wir eine neue Datei in einem benutzerdefinierten Pfad erstellen wollen, verwenden Sie:

wb.SaveAs(@"E:\IronXL\Sample.xlsx");

Hier ist ein Screenshot unserer neu erstellten Excel-Datei sample.xlsx:

Doc5 1 related to 5. Ein Beispielprojekt erstellen

Es wird deutlich, wie einfach es ist, Excel-Dateien mit IronXL in Ihrer C#-Anwendung zu erstellen.


6. ExcelMetadaten für Excel-Dateien festlegen

IronXL bietet auch die Funktion, Metadaten für Excel-Dateien zu setzen.

/**
Set Metadata
anchor-set-metadata-for-excel-files
**/
WorkBook wb = WorkBook.Create();
wb.Metadata.Author = "AuthorName";
wb.Metadata.Title="TitleValue";
/**
Set Metadata
anchor-set-metadata-for-excel-files
**/
WorkBook wb = WorkBook.Create();
wb.Metadata.Author = "AuthorName";
wb.Metadata.Title="TitleValue";
'''
'''Set Metadata
'''anchor-set-metadata-for-excel-files
'''*
Dim wb As WorkBook = WorkBook.Create()
wb.Metadata.Author = "AuthorName"
wb.Metadata.Title="TitleValue"
$vbLabelText   $csharpLabel

7. Zellenstil einstellen

Es ist sehr einfach, den Zellstil von Excel WorkSheet in Ihrer C#-Anwendung festzulegen. IronXL bietet alle erforderlichen Eigenschaften für die Gestaltung von Zellen.

7.1. Schriftstil einstellen

Der Schriftstil kann wie folgt eingestellt werden:

/**
Set Font Style
anchor-set-font-style
**/
WorkSheet ["CellAddress"].Style.Font.Bold =true;
WorkSheet ["CellAddress"].Style.Font.Italic =true;
/**
Set Font Style
anchor-set-font-style
**/
WorkSheet ["CellAddress"].Style.Font.Bold =true;
WorkSheet ["CellAddress"].Style.Font.Italic =true;
'''
'''Set Font Style
'''anchor-set-font-style
'''*
WorkSheet ("CellAddress").Style.Font.Bold =True
WorkSheet ("CellAddress").Style.Font.Italic =True
$vbLabelText   $csharpLabel

7.2. Strikeout hinzufügen

Das Durchstreichen eines beliebigen Zellwertes kann wie folgt erfolgen:

/**
Add Strikeout
anchor-add-strikeout
**/
WorkSheet ["CellAddress"].Style.Font.Strikeout = true;
/**
Add Strikeout
anchor-add-strikeout
**/
WorkSheet ["CellAddress"].Style.Font.Strikeout = true;
'''
'''Add Strikeout
'''anchor-add-strikeout
'''*
WorkSheet ("CellAddress").Style.Font.Strikeout = True
$vbLabelText   $csharpLabel

7.3. Umrandungsstil festlegen

Die Gestaltung des Rahmens kann mit folgendem Code erfolgen:

/**
Set Border Style
anchor-set-border-style
**/
WorkSheet ["CellAddress"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted;
/**
Set Border Style
anchor-set-border-style
**/
WorkSheet ["CellAddress"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted;
'''
'''Set Border Style
'''anchor-set-border-style
'''*
WorkSheet ("CellAddress").Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted
$vbLabelText   $csharpLabel

8. Cell Styling Beispielprojekt anwenden

Sehen wir uns an, wie man mehrere Zellstile festlegt und alles zusammenbringt, indem wir das folgende Beispielprojekt verwenden.

/**
Sample Cell Styling Set
anchor-apply-cell-styling-sample-project
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Create();                     
    WorkSheet ws = wb.CreateWorkSheet("sheet1");

    ws ["A1"].Value = "MyVal";
    ws ["B2"].Value = "Hello World";

    ws ["A1"].Style.Font.Strikeout = true;

    ws ["B2"].Style.Font.Bold =true;
    ws ["B2"].Style.Font.Italic =true;

    ws ["C3"].Style.TopBorder.Type = IronXL.Styles.BorderType.Double;        
    ws ["C3"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted;
    ws ["C3"].Style.LeftBorder.Type = IronXL.Styles.BorderType.Thick;
    ws ["C3"].Style.RightBorder.Type = IronXL.Styles.BorderType.SlantedDashDot;
    ws ["C3"].Style.BottomBorder.SetColor("#ff6600");
    ws ["C3"].Style.TopBorder.SetColor("#ff6600");
    wb.SaveAs("Sample.xlsx");
}
/**
Sample Cell Styling Set
anchor-apply-cell-styling-sample-project
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Create();                     
    WorkSheet ws = wb.CreateWorkSheet("sheet1");

    ws ["A1"].Value = "MyVal";
    ws ["B2"].Value = "Hello World";

    ws ["A1"].Style.Font.Strikeout = true;

    ws ["B2"].Style.Font.Bold =true;
    ws ["B2"].Style.Font.Italic =true;

    ws ["C3"].Style.TopBorder.Type = IronXL.Styles.BorderType.Double;        
    ws ["C3"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted;
    ws ["C3"].Style.LeftBorder.Type = IronXL.Styles.BorderType.Thick;
    ws ["C3"].Style.RightBorder.Type = IronXL.Styles.BorderType.SlantedDashDot;
    ws ["C3"].Style.BottomBorder.SetColor("#ff6600");
    ws ["C3"].Style.TopBorder.SetColor("#ff6600");
    wb.SaveAs("Sample.xlsx");
}
'''
'''Sample Cell Styling Set
'''anchor-apply-cell-styling-sample-project
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	Dim wb As WorkBook = WorkBook.Create()
	Dim ws As WorkSheet = wb.CreateWorkSheet("sheet1")

	ws ("A1").Value = "MyVal"
	ws ("B2").Value = "Hello World"

	ws ("A1").Style.Font.Strikeout = True

	ws ("B2").Style.Font.Bold =True
	ws ("B2").Style.Font.Italic =True

	ws ("C3").Style.TopBorder.Type = IronXL.Styles.BorderType.Double
	ws ("C3").Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted
	ws ("C3").Style.LeftBorder.Type = IronXL.Styles.BorderType.Thick
	ws ("C3").Style.RightBorder.Type = IronXL.Styles.BorderType.SlantedDashDot
	ws ("C3").Style.BottomBorder.SetColor("#ff6600")
	ws ("C3").Style.TopBorder.SetColor("#ff6600")
	wb.SaveAs("Sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

Und hier ist ein Screenshot unserer neu erstellten Excel-Datei sample.xlsx.

Doc5 2 related to 8. Cell Styling Beispielprojekt anwenden

9. Nächste Schritte und Excel-Tutorial

Wenn Sie tiefer eintauchen und eine Schritt-für-Schritt-Anleitung zur Erstellung von .NET Excel lesen möchten, schauen Sie sich das Tutorial zur Erstellung von Excel-Dateien mit C# an.


Tutorial Schnellzugriff

Documentation related to Tutorial Schnellzugriff

Eintauchen in die API-Referenz

Lesen Sie die Dokumentation zu IronXL, mit Erklärungen zu allen Namespaces, Featuresets, Klassen, Methoden, Feldern und Enums von IronXL.

Sehen Sie sich die API-Referenz an
Chaknith Bin
Software-Ingenieur
Chaknith arbeitet an IronXL und IronBarcode. Er hat tiefgehende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Erkenntnisse aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentation und einem insgesamt besseren Erlebnis bei.