Zum Fußzeileninhalt springen
IRONXL VERWENDEN

Wie man Excel-Berichte in C# mit IronXL erstellt

Excel-Berichte in C# zu erstellen, ist ein grundlegendes Erfordernis in modernen Geschäfts- und .NET-Anwendungen. Egal, ob Sie Finanzberichte, Verkaufsanalysen oder Bestandsübersichten erstellen, die Automatisierung des Erstellungsprozesses von Excel-Dateien und Excel-Tabellen spart Stunden manueller Arbeit und reduziert Fehler.

IronXL bietet eine leistungsstarke, intuitive Lösung für Entwickler, um einen Excel-Bericht in C zu erstellen, ohne dass Microsoft Office, MS Excel oder traditionelle Interop-Abhängigkeiten erforderlich sind. Im Gegensatz zu OLE-Automatisierung oder Ansätzen, die auf der Excel-Anwendung basieren, ermöglicht IronXL das Erzeugen von Excel-Arbeitsmappen und Excel-Daten direkt im Code mit nur einer Zeile, wo dies erforderlich ist. In diesem Leitfaden zeigen wir Ihnen, wie Sie mit IronXL Excel-Berichte erstellen, komplett mit leicht nachvollziehbarem Beispielcode, den Sie einfach in Ihre eigenen Projekte integrieren können!

Was ist IronXL und warum sollte man es für die Generierung von Excel-Dateien verwenden?

IronXL ist eine .NET-Excel-Bibliothek, die Entwicklern ermöglicht, Excel zu erstellen, Excel-Tabellen zu lesen und Excel-Dateien direkt aus C#- oder Visual Basic-Quellcode zu bearbeiten. Im Gegensatz zu Microsoft Office Interop-Ansätzen, die auf der vollständigen Excel-Anwendung oder Rückwärtsingenieurierung über das Open XML SDK basieren, funktioniert IronXL über Windows, Linux, macOS und Cloud-Umgebungen hinweg, ohne dass eine Excel-Installation oder Drittanbieter-Abhängigkeiten erforderlich sind. Dies macht es ideal für serverseitige Excel-Berichte, automatisierte Workflows und Webanwendungen, die auf .NET Core oder dem .NET-Framework aufgebaut sind.

Für Teams, die von manuellen Excel-Prozessen, älteren Bibliotheken oder Open XML-Produktivitätstool-Workflows umsteigen müssen, die das Navigieren in verschiedenen XML-Namespaces erfordern, bietet IronXL eine intuitive API. Es unterstützt sowohl alte XLS-Dateien als auch moderne XLSX-Dateien, die im Wesentlichen ZIP-Dateien mit XML-Dateien und verschiedenen Ordnern sind. Egal, ob Sie ein neues Excel-Arbeitsbuch erzeugen, mehrere Arbeitsblätter bearbeiten oder Excel-Daten aus externem Code laden möchten, IronXL vereinfacht den Prozess erheblich, ohne dass ein Verständnis der zugrunde liegenden Formate erforderlich ist.

Erste Schritte mit IronXL zur Erstellung einer Excel-Datei

Die Einrichtung von IronXL, um Excel-Berichte zu erstellen, dauert nur wenige Minuten. Installieren Sie die Bibliothek über den NuGet-Paket-Manager in Visual Studio:

Install-Package IronXL.Excel

Laden Sie IronXL noch heute herunter und beginnen Sie mit der Automatisierung Ihrer Excel-Berichtserstellung.

Nachdem die Installation abgeschlossen ist, erfordert die Erstellung Ihres ersten Excel-Berichts nur ein paar Codezeilen:

using IronXL;
// Create a new Excel workbook for reports
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
// Add a worksheet for the report
WorkSheet reportSheet = workBook.CreateWorkSheet("Monthly Report");
// Add a title
reportSheet["A1"].Value = "Sales Report - January 2024";
reportSheet["A1"].Style.Font.Bold = true;
// Save the Excel report
workBook.SaveAs("MonthlyReport.xlsx");
using IronXL;
// Create a new Excel workbook for reports
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
// Add a worksheet for the report
WorkSheet reportSheet = workBook.CreateWorkSheet("Monthly Report");
// Add a title
reportSheet["A1"].Value = "Sales Report - January 2024";
reportSheet["A1"].Style.Font.Bold = true;
// Save the Excel report
workBook.SaveAs("MonthlyReport.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieser Code erstellt eine neue Excel-Berichtsdatei mit einem formatierten Titel. Die vertraute Zellreferenzsyntax (reportSheet["A1"]) ermöglicht es Entwicklern, genau anzugeben, wo Daten erscheinen sollen, genau wie bei der manuellen Arbeit mit Excel.

Ausgabe

Wie man Excel-Berichte in C# mit IronXL erstellt: Abbildung 1 - Beispiel Excel-Ausgabe

Daten aus mehreren Quellen laden

Echte Excel-Berichte verwenden selten statische Daten. IronXL ist hervorragend darin, Excel-Daten aus verschiedenen Formaten, APIs, neuen DataTable-Quellen oder sogar mehreren unterschiedlichen XML-Dateien zu integrieren. Dies macht es perfekt für die dynamische C#-Excel-Berichterstellung in serverseitigen oder Webanwendungen.

Datenbankintegration

For database-driven Excel reports, IronXL seamlessly works with ADO.NET DataTables:

using System.Data;
using System.Data.SqlClient;
// Fetch data from database
string connectionString = "Server=localhost;Database=Sales;Integrated Security=true;";
DataTable salesData = new DataTable();
using (SqlConnection conn = new SqlConnection(connectionString))
{
    SqlDataAdapter adapter = new SqlDataAdapter(
        "SELECT ProductName, Quantity, Revenue FROM MonthlySales", conn);
    adapter.Fill(salesData);
}
// Create Excel report from DataTable
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Sales Data");
// Add headers
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Quantity";  
sheet["C1"].Value = "Revenue";
// Populate data
int row = 2;
foreach (DataRow dataRow in salesData.Rows)
{
    sheet[$"A{row}"].Value = dataRow["ProductName"];
    sheet[$"B{row}"].Value = dataRow["Quantity"];
    sheet[$"C{row}"].Value = dataRow["Revenue"];
    row++;
}
using System.Data;
using System.Data.SqlClient;
// Fetch data from database
string connectionString = "Server=localhost;Database=Sales;Integrated Security=true;";
DataTable salesData = new DataTable();
using (SqlConnection conn = new SqlConnection(connectionString))
{
    SqlDataAdapter adapter = new SqlDataAdapter(
        "SELECT ProductName, Quantity, Revenue FROM MonthlySales", conn);
    adapter.Fill(salesData);
}
// Create Excel report from DataTable
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Sales Data");
// Add headers
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Quantity";  
sheet["C1"].Value = "Revenue";
// Populate data
int row = 2;
foreach (DataRow dataRow in salesData.Rows)
{
    sheet[$"A{row}"].Value = dataRow["ProductName"];
    sheet[$"B{row}"].Value = dataRow["Quantity"];
    sheet[$"C{row}"].Value = dataRow["Revenue"];
    row++;
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieser Ansatz lädt Verkaufsdaten direkt von SQL Server in Ihren Excel-Bericht. Die DataTable-Integration bedeutet, dass Sie bestehenden Datenzugriffscode ohne Modifizierung verwenden können. Für komplexere Szenarien, sehen Sie sich an, wie man Excel aus SQL-Datenbanken lädt.

Arbeiten mit Sammlungen

Für In-Memory-Daten, Excel-Daten aus API-Antworten oder einer neuen DataTable können Sammlungen Excel-Arbeitsblätter einfach ohne Microsoft Excel oder Drittanbieter-Abhängigkeiten darstellen:

var salesRecords = new List<SalesRecord>
{
    new SalesRecord { Product = "Widget A", Units = 150, Price = 29.99m },
    new SalesRecord { Product = "Widget B", Units = 82, Price = 49.99m }
};
// Convert collection to Excel
for (int i = 0; i < salesRecords.Count; i++)
{
    sheet[$"A{i+2}"].Value = salesRecords[i].Product;
    sheet[$"B{i+2}"].Value = salesRecords[i].Units;
    sheet[$"C{i+2}"].Value = salesRecords[i].Price;
}
var salesRecords = new List<SalesRecord>
{
    new SalesRecord { Product = "Widget A", Units = 150, Price = 29.99m },
    new SalesRecord { Product = "Widget B", Units = 82, Price = 49.99m }
};
// Convert collection to Excel
for (int i = 0; i < salesRecords.Count; i++)
{
    sheet[$"A{i+2}"].Value = salesRecords[i].Product;
    sheet[$"B{i+2}"].Value = salesRecords[i].Units;
    sheet[$"C{i+2}"].Value = salesRecords[i].Price;
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieser Methode erlaubt es, einen Excel-Bericht in C# direkt in einer .NET-Anwendung zu erstellen und vereinfacht den Prozess der Erstellung von mehreren Arbeitsblättern oder XLSX-Dateien erheblich im Vergleich zur manuellen OLE-Automatisierung oder der Rückwärtsingenieurierung von XML-Dateien.

Ausgabe

Wie man Excel-Berichte in C# mit IronXL erstellt: Abbildung 2 - Beispielarbeitsblatt aus Datenoutput

Formatierung professioneller Excel-Berichte

Rohdaten allein machen keinen professionellen Bericht. IronXL bietet umfassende Zellformatierungsoptionen, um polierte, geschäftsreife Excel-Dateien zu erstellen. Der folgende Code zeigt, wie einfach das mit IronXL ist:

using IronXL;
using IronXL.Styles;
class Program
{
    static void Main(string[] args)
    {
        // Create a new workbook
        var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
        // Add a new worksheet
        var sheet = workbook.CreateWorkSheet("MySheet");
        // Add header values
        sheet["A1"].Value = "Product";
        sheet["B1"].Value = "Quantity";
        sheet["C1"].Value = "Price";
        // Add sample data rows
        sheet["A2"].Value = "Laptop";
        sheet["B2"].Value = 5;
        sheet["C2"].Value = 1299.99;
        sheet["A3"].Value = "Headphones";
        sheet["B3"].Value = 15;
        sheet["C3"].Value = 199.50;
        sheet["A4"].Value = "Keyboard";
        sheet["B4"].Value = 10;
        sheet["C4"].Value = 89.99;
        sheet["A5"].Value = "Monitor";
        sheet["B5"].Value = 7;
        sheet["C5"].Value = 249.00;
        // Header formatting
        var headerRange = sheet["A1:C1"];
        headerRange.Style.Font.Bold = true;
        headerRange.Style.SetBackgroundColor("#4472C4");
        headerRange.Style.Font.Color = "#FFFFFF";
        headerRange.Style.BottomBorder.Type = BorderType.Thick;
        // Number formatting for currency  
        sheet["C:C"].FormatString = "$#,##0.00";
        // Alternating row colors for readability
        for (int row = 2; row <= 10; row++)
        {
            if (row % 2 == 0)
            {
                sheet[$"A{row}:C{row}"].Style.SetBackgroundColor("#F2F2F2");
            }
        }
        // Column width adjustment
        sheet.Columns[0].Width = 15 * 256; // Width in 1/256th of character width
        sheet.Columns[2].Width = 12 * 256;
        // Add borders around data
        var dataRange = sheet["A1:C10"];
        dataRange.Style.TopBorder.Type = BorderType.Thin;
        dataRange.Style.RightBorder.Type = BorderType.Thin;
        dataRange.Style.BottomBorder.Type = BorderType.Thin;
        dataRange.Style.LeftBorder.Type = BorderType.Thin;
        // Save the workbook to a file
        workbook.SaveAs("MyWorkbook.xlsx");
    }
}
using IronXL;
using IronXL.Styles;
class Program
{
    static void Main(string[] args)
    {
        // Create a new workbook
        var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
        // Add a new worksheet
        var sheet = workbook.CreateWorkSheet("MySheet");
        // Add header values
        sheet["A1"].Value = "Product";
        sheet["B1"].Value = "Quantity";
        sheet["C1"].Value = "Price";
        // Add sample data rows
        sheet["A2"].Value = "Laptop";
        sheet["B2"].Value = 5;
        sheet["C2"].Value = 1299.99;
        sheet["A3"].Value = "Headphones";
        sheet["B3"].Value = 15;
        sheet["C3"].Value = 199.50;
        sheet["A4"].Value = "Keyboard";
        sheet["B4"].Value = 10;
        sheet["C4"].Value = 89.99;
        sheet["A5"].Value = "Monitor";
        sheet["B5"].Value = 7;
        sheet["C5"].Value = 249.00;
        // Header formatting
        var headerRange = sheet["A1:C1"];
        headerRange.Style.Font.Bold = true;
        headerRange.Style.SetBackgroundColor("#4472C4");
        headerRange.Style.Font.Color = "#FFFFFF";
        headerRange.Style.BottomBorder.Type = BorderType.Thick;
        // Number formatting for currency  
        sheet["C:C"].FormatString = "$#,##0.00";
        // Alternating row colors for readability
        for (int row = 2; row <= 10; row++)
        {
            if (row % 2 == 0)
            {
                sheet[$"A{row}:C{row}"].Style.SetBackgroundColor("#F2F2F2");
            }
        }
        // Column width adjustment
        sheet.Columns[0].Width = 15 * 256; // Width in 1/256th of character width
        sheet.Columns[2].Width = 12 * 256;
        // Add borders around data
        var dataRange = sheet["A1:C10"];
        dataRange.Style.TopBorder.Type = BorderType.Thin;
        dataRange.Style.RightBorder.Type = BorderType.Thin;
        dataRange.Style.BottomBorder.Type = BorderType.Thin;
        dataRange.Style.LeftBorder.Type = BorderType.Thin;
        // Save the workbook to a file
        workbook.SaveAs("MyWorkbook.xlsx");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Diese Formatierungsoptionen verwandeln einfache Daten in professionelle Berichte. The style API covers everything from fonts and colors to borders and alignment, giving complete control over the Excel report appearance. Für erweiterte Formatierungsanforderungen, erkunden Sie bedingte Formatierung, um wichtige Daten automatisch hervorzuheben.

Wie man Excel-Berichte in C# mit IronXL erstellt: Abbildung 3 - Formatierte Excel-Ausgabe

Verwendung von Formeln für dynamische Excel-Berichtrechnungen

Die Stärke von Excel liegt in seinen Formeln, und IronXL unterstützt vollständig die Erstellung von Excel-Formeln:

// Add formula for row totals
sheet["D1"].Value = "Total";
sheet["D2"].Formula = "=B2*C2";
// Copy formula down the column
for (int row = 3; row <= 10; row++)
{
    sheet[$"D{row}"].Formula = $"=B{row}*C{row}";
}
// Add summary formulas
sheet["A12"].Value = "Summary";
sheet["B12"].Formula = "=SUM(B2:B10)";
sheet["C12"].Formula = "=AVERAGE(C2:C10)";
sheet["D12"].Formula = "=SUM(D2:D10)";
// Add formula for row totals
sheet["D1"].Value = "Total";
sheet["D2"].Formula = "=B2*C2";
// Copy formula down the column
for (int row = 3; row <= 10; row++)
{
    sheet[$"D{row}"].Formula = $"=B{row}*C{row}";
}
// Add summary formulas
sheet["A12"].Value = "Summary";
sheet["B12"].Formula = "=SUM(B2:B10)";
sheet["C12"].Formula = "=AVERAGE(C2:C10)";
sheet["D12"].Formula = "=SUM(D2:D10)";
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Die Formelunterstützung umfasst alle Standard-Excel-Funktionen wie SUMME, MITTELWERT, WENN, SVERWEIS und mehr. IronXL behandelt automatisch Formelnabhängigkeiten und Berechnungsreihenfolge, wodurch die Erstellung von Excel-Berichten mit komplexen Berechnungen einfach wird. Erfahren Sie mehr über Mathematikfunktionen in IronXL.

Wie man Excel-Berichte in C# mit IronXL erstellt: Abbildung 4 - Beispieloutput mit Formeln

Vorlagenbasierte Berichte

Für wiederkehrende Excel-Berichte oder standardisierte Arbeitsmappen unterstützt IronXL die vorlagenbasierte Erstellung, sodass Entwickler eine Excel-Datei aus einer Vorlage erstellen können, ohne sich mit Open XML SDK, rels-Dateien oder verschiedenen Ordnern auseinandersetzen zu müssen:

// Load existing template
WorkBook templateBook = WorkBook.Load("ReportTemplate.xlsx");
WorkSheet templateSheet = templateBook.DefaultWorkSheet;
// Find and replace template markers
foreach (var cell in templateSheet["A1:Z100"])
{
    if (cell.Text.Contains("{{CompanyName}}"))
        cell.Value = cell.Text.Replace("{{CompanyName}}", "Acme Corp");
    if (cell.Text.Contains("{{ReportDate}}"))
        cell.Value = cell.Text.Replace("{{ReportDate}}", DateTime.Now.ToString("MMMM yyyy"));
}
// Save as new report
templateBook.SaveAs($"Report_{DateTime.Now:yyyyMMdd}.xlsx");
// Load existing template
WorkBook templateBook = WorkBook.Load("ReportTemplate.xlsx");
WorkSheet templateSheet = templateBook.DefaultWorkSheet;
// Find and replace template markers
foreach (var cell in templateSheet["A1:Z100"])
{
    if (cell.Text.Contains("{{CompanyName}}"))
        cell.Value = cell.Text.Replace("{{CompanyName}}", "Acme Corp");
    if (cell.Text.Contains("{{ReportDate}}"))
        cell.Value = cell.Text.Replace("{{ReportDate}}", DateTime.Now.ToString("MMMM yyyy"));
}
// Save as new report
templateBook.SaveAs($"Report_{DateTime.Now:yyyyMMdd}.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieser Ansatz bewahrt eine einheitliche Formatierung bei der Aktualisierung dynamischer Inhalte, perfekt für monatliche Berichte oder standardisierte Dokumente.

Wie man Excel-Berichte in C# mit IronXL erstellt: Abbildung 5 - Die Berichtsvorlage vs. unsere mit der Vorlage erstellte Excel-Datei

Best Practices und Troubleshooting

Beim Implementieren der Excel-Berichterstellung sollten Sie diese Tipps beachten:

  • Speichernutzung bei großen Dateien: Verarbeiten Sie Daten in Teilen statt komplette Datensätze zu laden (Microsofts Empfehlungen für große Excel-Dateien)
  • Datumsformatierungsprobleme: Verwenden Sie DateTime.ToOADate() für Excel-kompatible Daten (Excel-Datensystem erklärt)
  • Dateischloss-Fehler: Entsorgen Sie Excel-Objekte immer korrekt mit using-Anweisungen oder neuen MemoryStream-Ansätzen.
  • Fehlende Stile: Einige Stil-Eigenschaften erfordern die erstmalige Festlegung der Hintergrundfarbe

Abschluss

IronXL verwandelt die Erstellung von Excel-Berichten von einem mühsamen manuellen Prozess in einen automatisierten, zuverlässigen Arbeitsablauf. Mit seiner intuitiven API, plattformübergreifenden Unterstützung und umfassendem Funktionsumfang können Entwickler professionelle Excel-Berichte in Minuten statt Stunden erstellen. Die Kombination aus einfacher Datenintegration, leistungsstarken Formatierungsoptionen und Formelsupport macht IronXL zu einem unverzichtbaren Werkzeug für jeden C#-Entwickler, der mit Excel-Berichten arbeitet. For developers who are interested, IronXL offers a free trial and further licensing options for companies and individuals.

Starten Sie jetzt mit IronXL.
green arrow pointer

Häufig gestellte Fragen

Wie kann ich in C# einen Excel-Bericht erstellen?

Sie können einen Excel-Bericht in C# mit der IronXL-Bibliothek erstellen, die den Prozess der Generierung von Excel-Dateien mit Funktionen wie Formatierung, Formeln und Datenbankintegration vereinfacht.

Was sind die Vorteile der Verwendung von IronXL für die Generierung von Excel-Berichten?

IronXL bietet eine effiziente Möglichkeit, die Erstellung von Excel-Berichten zu automatisieren, den manuellen Aufwand zu reduzieren und Fehler zu minimieren. Es unterstützt eine Vielzahl von Funktionen wie erweiterte Formatierung, Formelkalkulationen und nahtlose Integration mit Datenbanken.

Ist es möglich, Datenbanken in die Erstellung von Excel-Berichten mit IronXL zu integrieren?

Ja, IronXL ermöglicht eine einfache Integration mit Datenbanken, sodass Sie Daten direkt aus Ihrer Datenbank in Ihre Excel-Berichte ziehen können.

Kann ich benutzerdefinierte Formatierungen für Excel-Berichte mit IronXL anwenden?

Absolut, IronXL unterstützt benutzerdefinierte Formatierungen, sodass Sie Ihre Excel-Berichte mit spezifischen Schriftarten, Farben und Zellstilen gestalten können, um den professionellen Standards zu entsprechen.

Unterstützt IronXL die Berechnung von Formeln in Excel-Berichten?

Ja, IronXL unterstützt die Verwendung von Formeln in Excel-Berichten und ermöglicht Berechnungen und Datenanalysen direkt innerhalb Ihrer generierten Excel-Dateien.

Warum sollte ich die Erstellung von Excel-Berichten in meiner .NET-Anwendung automatisieren?

Die Automatisierung der Erstellung von Excel-Berichten in Ihrer .NET-Anwendung spart Zeit, reduziert menschliche Fehler und erhöht die Produktivität, indem Sie repetitive Aufgaben bei der manuellen Berichterstellung eliminieren.

Kann IronXL große Datensätze bei der Erstellung von Excel-Berichten verarbeiten?

IronXL ist darauf ausgelegt, große Datensätze effizient zu verarbeiten, was es ideal für die Generierung von Excel-Berichten macht, die eine Verarbeitung signifikanter Datenmengen erfordern.

Welche Arten von Excel-Berichten kann ich mit IronXL erstellen?

Mit IronXL können Sie verschiedene Arten von Excel-Berichten erstellen, wie Finanzberichte, Verkaufsanalysen, Bestands-Dashboards und mehr, die auf Ihre spezifischen Geschäftsanforderungen zugeschnitten sind.

Wie hilft IronXL bei der Reduzierung des manuellen Aufwands bei der Erstellung von Excel-Berichten?

IronXL automatisiert den Berichtserstellungsprozess, indem es Excel-Dateien programmgesteuert generiert, was den manuellen Aufwand bei der Formatierung, Dateneingabe und Berechnung erheblich reduziert.

Ist IronXL geeignet für die Erstellung professioneller Excel-Berichte?

Ja, IronXL ist geeignet für die Erstellung professioneller Excel-Berichte und bietet eine Reihe von Funktionen, die sicherstellen, dass Ihre Berichte gut formatiert, genau und für geschäftliche Zwecke bereit sind.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen