Daten mit C# in eine Excel-Datei exportieren

Muhammad Zeeshan 15 Februar 2024
  1. Exportieren Sie Daten nach Excel mit C#
  2. Exportieren Sie Daten von Array nach Excel mit C#
  3. Exportieren Sie Daten aus DataTable nach Excel mit C#
  4. Exportieren Sie Daten von JSON nach Excel mit C#
Daten mit C# in eine Excel-Datei exportieren

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.

    Referenz hinzufügen

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 Datenelementen name und Markierungen.
    public class Student {
      public String name { get; set; }
      public double marks { get; set; }
    }
    
  • Erstellen Sie eine weitere Klasse namens Program und erstellen Sie die Methode Main() in dieser Klasse.
    public class Program {
      public static void Main(string[] args) {}
    }
    
  • In der Methode Main() erstellen wir ein Objekt vom Typ List<> der Klasse Student.
    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 namens maper.
    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:

C#-Daten nach Excel exportieren - Ausgabe

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.

    Spire Xls hinzufügen

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 Namen wb.
    Workbook wb = new Workbook();
    
  • Fügen Sie ein neues Arbeitsblatt hinzu und geben Sie ihm den Namen ws.
    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:

C#-Array nach Excel exportieren – Ausgabe

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 Namen wb.
    Workbook wb = new Workbook();
    wb.Worksheets.Clear();
    
  • Fügen Sie eine neue Worksheet-Instanz hinzu und geben Sie ihr den Namen ws.
    Worksheet ws = wb.Worksheets.Add("DataTableToExcel");
    
  • Konstruieren Sie ein Objekt vom Typ DataTable und geben Sie ihm den Namen dt.
    DataTable dt = new DataTable();
    
  • Fügen Sie als Spalten Rollennummer, Schülername und Abschnitte 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 Namen dtr 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:

C#-Datentabelle nach Excel exportieren - Ausgabe

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 und Newtonsoft.Json und installieren Sie es.

    GemBox hinzufügen

    Json hinzufügen

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 Funktion SpreadsheetInfo.SetLicense() initialisieren.
    SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");
    
  • Erstellen Sie nun eine JSON-Datei mit dem Namen JsonData und füllen Sie diese mit den Students-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:

C#-Export von JSON nach Excel – Ausgabe

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