Daten mit C# in eine Excel-Datei exportieren
-
Exportieren Sie Daten nach Excel mit
C#
-
Exportieren Sie Daten von Array nach Excel mit
C#
-
Exportieren Sie Daten aus DataTable nach Excel mit
C#
-
Exportieren Sie Daten von JSON nach Excel mit
C#
In diesem Tutorial erfahren Sie, wie Sie Daten in eine Excel-Datei in C# exportieren.
Exportieren Sie Daten nach Excel mit C#
Das Hinzufügen einer Referenz zum Erstellen einer Excel-Datei und deren Export ist erforderlich, um mit diesem Projekt fortzufahren.
Fügen Sie das Referenzpaket hinzu
Für verschiedene Excel-Operationen fügen wir das Paket ExcelMapper
hinzu. Führen Sie dazu die folgenden Schritte aus:
-
Öffnen Sie Visual Studio, erstellen Sie eine Konsolenanwendung und benennen Sie sie.
-
Klicken Sie mit der rechten Maustaste auf den Bereich Projektmappen-Explorer und wählen Sie NuGet-Pakete verwalten aus.
-
Klicken Sie nun auf die Option Durchsuchen, suchen Sie nach
ExcelMapper
und installieren Sie es.
Nachdem wir das Paket hinzugefügt haben, schreiben wir den Code eines Beispielprogramms. Im folgenden Beispiel verwenden wir zufällige Daten von Schülern.
Beispiel:
-
Importieren Sie zunächst die folgenden Bibliotheken:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Ganss.Excel;
-
Erstellen Sie nun eine Klasse
Schüler
mit den Datenelementenname
undMarkierungen
.public class Student { public String name { get; set; } public double marks { get; set; } }
-
Erstellen Sie eine weitere Klasse namens
Program
und erstellen Sie die MethodeMain()
in dieser Klasse.public class Program { public static void Main(string[] args) {} }
-
In der Methode
Main()
erstellen wir ein Objekt vom TypList<>
der KlasseStudent
.var s = new List<Student> {}
-
Dieses Objekt wird mit einigen zufälligen
Schüler
-Daten gefüllt, wie unten gezeigt:var s = new List<Student> { new Student { name = "M.Zeeshan", marks = 94.0 }, new Student { name = "Shani", marks = 84.0 }, new Student { name = "Saada g", marks = 74.0 }, new Student { name = "Haseeba", marks = 34.0 }, };
-
Erstellen Sie dann ein
ExcelMapper
-Objekt namensmaper
.ExcelMapper maper = new ExcelMapper();
-
Um die gerade erstellten Daten zu speichern, erstellen wir eine Beispieldatei im erforderlichen Pfad oder Verzeichnis.
var newFile = @"D:\sample.xlsx";
-
Zuletzt speichern wir die Datei mit der ExcelMapper-Funktion
maper.Save()
.maper.Save(newFile, s, "ShaniData", true);
Vollständiger Quellcode:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Ganss.Excel;
namespace DatatoExcelbyZeeshan {
public class Program {
public static void Main(string[] args) {
var s = new List<Student> {
new Student { name = "M.Zeeshan", marks = 94.0 },
new Student { name = "Shani", marks = 84.0 },
new Student { name = "Saada g", marks = 74.0 },
new Student { name = "Haseeba", marks = 34.0 },
};
ExcelMapper maper = new ExcelMapper();
var newFile = @"D:\sample.xlsx";
maper.Save(newFile, s, "ShaniData", true);
Console.ReadKey();
}
}
public class Student {
public String name { get; set; }
public double marks { get; set; }
}
}
Sie erhalten die folgende Ausgabe in der Datei sample.xlsx
:
Exportieren Sie Daten von Array nach Excel mit C#
Lassen Sie uns ein Beispiel haben, um es praktisch zu verstehen.
Fügen Sie das Referenzpaket hinzu
Für verschiedene Excel-Operationen fügen wir das Paket ExcelMapper
hinzu. Führen Sie dazu die folgenden Schritte aus:
-
Öffnen Sie zunächst Visual Studio, erstellen Sie eine Konsolenanwendung und benennen Sie sie.
-
Klicken Sie mit der rechten Maustaste auf den Bereich Projektmappen-Explorer und wählen Sie NuGet-Pakete verwalten aus.
-
Klicken Sie nun auf die Option Durchsuchen, suchen Sie nach
Spire.Xls
und installieren Sie es.
Beispiel:
-
Importieren Sie zunächst die folgenden Bibliotheken:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Spire.Xls;
-
Erstellen Sie nun eine neue Instanz von
Workbook
und geben Sie ihr den Namenwb
.Workbook wb = new Workbook();
-
Fügen Sie ein neues
Arbeitsblatt
hinzu und geben Sie ihm den Namenws
.Worksheet ws = wb.Worksheets.Add("ShaniArray");
-
Erstellen Sie ein neues Array und geben Sie ihm den Namen
ProgramSubjectResults
, dann fügen Sie einige Daten hinzu.string[,] ProgramSubjectResults = new string[,] { { "Name", "City", "Gpa", "Language" }, { "Zeeshan", "ISB", "3.7", "Flutter Development" }, { "Saad Jaan", "RWP", "4.0", "Full Stack" }, { "Haseeba", "FATA", "3.53", "Andriod Development" } };
-
Um das Array in das
Arbeitsblatt
aufzunehmen, beginnen Sie mit der Zelle.ws.InsertArray(ProgramSubjectResults, 2, 1); ws.AllocatedRange.AutoFitColumns();
-
Geben Sie abschließend dem soeben erstellten Array einen Namen und speichern Sie es als Excel-Datei.
wb.SaveToFile(@"D:\ArraytoExcel.xlsx", ExcelVersion.Version2016);
Vollständiger Quellcode:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Spire.Xls;
namespace ExportArraytoExcelbyZeeshan {
class Program {
static void Main(string[] args) {
Workbook wb = new Workbook();
wb.Worksheets.Clear();
Worksheet ws = wb.Worksheets.Add("ShaniArray");
string[,] ProgramSubjectResults =
new string[,] { { "Name", "City", "Gpa", "Language" },
{ "Zeeshan", "ISB", "3.7", "Flutter Development" },
{ "Saad Jaan", "RWP", "4.0", "Full Stack" },
{ "Haseeba", "FATA", "3.53", "Andriod Development" } };
ws.InsertArray(ProgramSubjectResults, 2, 1);
ws.AllocatedRange.AutoFitColumns();
wb.SaveToFile(@"D:\ArraytoExcel.xlsx", ExcelVersion.Version2016);
}
}
}
Ausgang:
Exportieren Sie Daten aus DataTable nach Excel mit C#
Sehen wir uns anhand des folgenden Beispiels an, wie dies geschehen kann.
Fügen Sie das Referenzpaket hinzu
Für den Export von DataTable
nach Excel fügen wir das Paket ExcelMapper
hinzu. Befolgen Sie dazu die zuvor besprochenen Schritte.
Beispiel:
-
Importieren Sie zunächst die folgenden Bibliotheken:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; using Spire.Xls;
-
Erstellen Sie nun eine neue Instanz von
Workbook
und geben Sie ihr den Namenwb
.Workbook wb = new Workbook(); wb.Worksheets.Clear();
-
Fügen Sie eine neue
Worksheet
-Instanz hinzu und geben Sie ihr den Namenws
.Worksheet ws = wb.Worksheets.Add("DataTableToExcel");
-
Konstruieren Sie ein Objekt vom Typ
DataTable
und geben Sie ihm den Namendt
.DataTable dt = new DataTable();
-
Fügen Sie als Spalten
Rollennummer
,Schülername
undAbschnitte
hinzu.dt.Columns.Add("Roll Number", typeof(String)); dt.Columns.Add("Student Name", typeof(String)); dt.Columns.Add("Section", typeof(String));
-
Nun müssen wir ein Objekt vom Typ
DataRow
erstellen und ihm den Namendtr
geben.DataRow dtr = dt.NewRow();
-
Fügen Sie Daten wie unten gezeigt in die Spalte
DataRow
ein.dtr[0] = "130-Arid-3227"; dtr[1] = "Muhammad Zeeshan"; dtr[2] = "Bs(IT)8A"; dt.Rows.Add(dtr); dtr = dt.NewRow(); dtr[0] = "123-Arid-3156"; dtr[1] = "Bubby Shah"; dtr[2] = "Bs(AI)7C"; dt.Rows.Add(dtr); dtr = dt.NewRow();
-
Schreiben Sie die Spalte
DataTable
in die von uns erstellte Tabelle.ws.InsertDataTable(dt, true, 1, 1, true);
-
Geben Sie dem Dokument abschließend einen Namen und speichern Sie es als Excel-Datei.
wb.SaveToFile(@"C:\DataTableToExcel.xlsx", ExcelVersion.Version2016);
Vollständiger Quellcode:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using Spire.Xls;
namespace ExportDataTableToExcelByZeeshan {
class Program {
static void Main(string[] args) {
Workbook wb = new Workbook();
wb.Worksheets.Clear();
Worksheet ws = wb.Worksheets.Add("DataTableToExcel");
DataTable dt = new DataTable();
dt.Columns.Add("Roll Number", typeof(String));
dt.Columns.Add("Student Name", typeof(String));
dt.Columns.Add("Section", typeof(String));
DataRow dtr = dt.NewRow();
dtr[0] = "130-Arid-3227";
dtr[1] = "Muhammad Zeeshan";
dtr[2] = "Bs(IT)8A";
dt.Rows.Add(dtr);
dtr = dt.NewRow();
dtr[0] = "123-Arid-3156";
dtr[1] = "Bubby Shah";
dtr[2] = "Bs(AI)7C";
dt.Rows.Add(dtr);
dtr = dt.NewRow();
ws.InsertDataTable(dt, true, 1, 1, true);
wb.SaveToFile(@"C:\DataTableToExcel.xlsx", ExcelVersion.Version2016);
}
}
}
Ausgang:
Exportieren Sie Daten von JSON nach Excel mit C#
Das folgende Beispiel hilft uns zu verstehen, wie man JSON-Daten praktisch mit C# nach Excel exportiert.
Fügen Sie das Referenzpaket hinzu
Für die Json
-Operationen von Excel fügen wir die Pakete GemBox.Spreadsheet
und Newtonsoft.Json
hinzu. Führen Sie dazu die folgenden Schritte aus:
-
Öffnen Sie zunächst Visual Studio, erstellen Sie eine Konsolenanwendung und benennen Sie sie.
-
Klicken Sie mit der rechten Maustaste auf den Bereich Projektmappen-Explorer und wählen Sie NuGet-Pakete verwalten aus.
-
Klicken Sie nun auf die Option Durchsuchen, suchen Sie nach
GemBox.Spreadsheet
undNewtonsoft.Json
und installieren Sie es.
Beispiel:
-
Importieren Sie zunächst die folgenden Bibliotheken:
using System; using System.Collections.Generic; using GemBox.Spreadsheet; using Newtonsoft.Json;
-
Bevor Sie eine andere Klasse aus dem Paket
GemBox.Spreadsheet
verwenden, müssen Sie die Lizenz mit der FunktionSpreadsheetInfo.SetLicense()
initialisieren.SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");
-
Erstellen Sie nun eine JSON-Datei mit dem Namen
JsonData
und füllen Sie diese mit denStudents
-Daten.string JsonData = @"{ ""0"": { ""Name"": ""Muhammad Zeeshan"", ""Roll"": ""3227"", ""GPA"": 3.11, ""Fyp"": ""Garden Guide System"" }, ""1"" : { ""Name"": ""Bubby Shah"", ""Roll"": ""3265"", ""GPA"": 2.9, ""Fyp"": ""Football Field Management"" }, ""2"" : { ""Name"": ""Haseeb-Ur-Rehman"", ""Roll"": ""3156"", ""GPA"": 3.9, ""Fyp"": ""Plants Recognition"" } }";
-
Wir werden die JSON-Zeichenfolge deserialisieren, nachdem wir die JSON-Datei definiert haben.
Dictionary<string, Student> shani = JsonConvert.DeserializeObject<Dictionary<string, Student>>(JsonData);
-
Erstellen Sie ein neues Arbeitsblatt in Excel und nennen Sie es
ws
. Erstellen Sie danach die Kopfzeilenwerte für das Arbeitsblatt.ExcelWorksheet ws = wb.Worksheets.Add("ShaniJSON" + ""); ws.Cells[0, 0].Value = "Student Name"; ws.Cells[0, 1].Value = "Roll No"; ws.Cells[0, 2].Value = "GPA"; ws.Cells[0, 3].Value = "FYP";
-
Nachdem das Arbeitsblatt erstellt wurde, schreiben wir die deserialisierten Daten in das Arbeitsblatt.
int row = 0; foreach (Student user in shani.Values) { ws.Cells[++row, 0].Value = user.Fname; ws.Cells[row, 1].Value = user.Roll; ws.Cells[row, 2].Value = user.Gpa; ws.Cells[row, 3].Value = user.Fyp; }
-
Im letzten Schritt speichern wir die Datei als Excel-Datei im angegebenen Verzeichnis.
wb.Save(@"D:\JSON TO Excel by Zeeshan.xlsx");
Vollständiger Quellcode:
using System;
using System.Collections.Generic;
using GemBox.Spreadsheet;
using Newtonsoft.Json;
namespace JsontoExcelByZeeshan {
class Program {
static void Main(string[] args) {
SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");
string JsonData =
@"{
""0"": {
""Name"": ""Muhammad Zeeshan"",
""Roll"": ""3227"",
""GPA"": 3.11,
""Fyp"": ""Garden Guide System""
},
""1"" : {
""Name"": ""Bubby Shah"",
""Roll"": ""3265"",
""GPA"": 2.9,
""Fyp"": ""Football Field Management""
},
""2"" : {
""Name"": ""Haseeb-Ur-Rehman"",
""Roll"": ""3156"",
""GPA"": 3.9,
""Fyp"": ""Plants Recognition""
}
}";
Dictionary<string, Student> shani =
JsonConvert.DeserializeObject<Dictionary<string, Student>>(JsonData);
ExcelFile wb = new ExcelFile();
ExcelWorksheet ws = wb.Worksheets.Add("ShaniJSON" + "");
ws.Cells[0, 0].Value = "Student Name";
ws.Cells[0, 1].Value = "Roll No";
ws.Cells[0, 2].Value = "GPA";
ws.Cells[0, 3].Value = "FYP";
int row = 0;
foreach (Student user in shani.Values) {
ws.Cells[++row, 0].Value = user.Fname;
ws.Cells[row, 1].Value = user.Roll;
ws.Cells[row, 2].Value = user.Gpa;
ws.Cells[row, 3].Value = user.Fyp;
}
wb.Save(@"D:\JSON TO Excel by Zeeshan.xlsx");
}
}
class Student {
[JsonProperty("Name")]
public string Fname { get; set; }
[JsonProperty("Roll")]
public string Roll { get; set; }
[JsonProperty("GPA")]
public float Gpa { get; set; }
[JsonProperty("Fyp")]
public string Fyp { get; set; }
}
}
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