IRONSOFTWAREHOME
IRONXL VERWENDEN

Wie man mit IronXL Daten in eine bestehende Excel-Vorlage in C# exportiert

Curtis Chau
Curtis Chau
Updated: 28. Juni 2026

Die Verwendung von Microsoft Excel-Vorlagen ermöglicht es Ihnen, Formatierungen, Formeln und Layouts beizubehalten und gleichzeitig Daten dynamisch einzufügen. Dieses Tutorial zeigt, wie Sie mit IronXL Daten in bestehende Excel-Tabellenvorlagen exportieren – ohne Microsoft Office-Abhängigkeiten oder Excel Interop. Sie lernen, wie Sie vordefinierte Vorlagen laden, Platzhalter ersetzen, tabellarische Daten schreiben, häufige Sonderfälle behandeln und Professional XLSX-Ausgaben in jeder .NET 10-Anwendung speichern.

Falls Sie Daten in eine bereits vorhandene Excel-Vorlage exportieren müssen, ohne dass Microsoft Office installiert ist, bietet IronXL eine leistungsstarke Lösung, die das Einfügen von Daten aus Wörterbüchern, Listen, DataTable-Objekten und Datenbankabfrageergebnissen unterstützt. Egal ob es sich bei Ihren Vorlagen um formatierte Rechnungen, monatliche Dashboards oder Compliance-Berichte handelt, IronXL füllt sie programmatisch aus und erhält dabei jede Stilregel, Formel und bedingte Formatierung bei.

Wie man Excel-Daten in vorhandene Excel-Dateivorlagen in C# mit IronXL exportiert: Bild 1 - IronXL

Warum verbessern Excel-Vorlagen die Berichtserstellung?

Excel-Vorlagen bieten erhebliche Vorteile gegenüber dem Erstellen von Tabellenkalkulationen von Grund auf. Templates behalten professionelles Layout, komplexe Formeln, Bedingungen Formatierungsregeln und validierte Datenstrukturen, die Ihre Organisation bereits genehmigt hat. Finanzteams, Betriebsabteilungen und Compliance-Gruppen haben oft standardisierte Templates für Rechnungen, Dashboards und behördliche Einreichungen, die ihr Design beibehalten müssen, während frische Daten aus Datenbanken, APIs oder speichergestützten Sammlungen integriert werden.

Durch das programmatische Befüllen vorhandener Vorlagen sparen Sie sich stundenlange Formatierungsarbeit und gewährleisten Konsistenz in jedem generierten Dokument. IronXL unterstützt die Formate XLSX, XLS, XLSM und XLTX, ohne dass eine Office-Installation erforderlich ist. Dadurch eignet es sich für Serverumgebungen, Docker-Container und Cloud-Pipelines, in denen die Installation von Microsoft Office unpraktisch oder unmöglich ist.

Wichtigste Vorteile des vorlagenbasierten Ansatzes:

  • Formelerhaltung – bestehende SUMME-, MITTELWERT- und Nachschlageformeln werden nach dem Schreiben von Daten automatisch neu berechnet.
  • Stilbewahrung -- Schriften, Rahmen, Zellfarben und Zahlenformate bleiben genau wie entworfen
  • Bedingte Formatierung – Regeln, die an Zellbereiche gebunden sind, werden weiterhin basierend auf den neuen Datenwerten ausgeführt.
  • Keine Office-Abhängigkeit – IronXL liest und schreibt Excel-Dateien vollständig in verwaltetem .NET -Code.
  • Plattformübergreifende Unterstützung – läuft unter Windows, Linux und macOS, einschließlich .NET 10-Umgebungen

Wie man Excel-Daten in vorhandene Excel-Dateivorlagen in C# mit IronXL exportiert: Bild 2 - Plattformübergreifend

Wie installiert man IronXL in seinem Projekt?

Beginnen Sie mit der Installation von IronXL über NuGet. Öffnen Sie die Paket-Manager-Konsole und führen Sie aus:

PM > Install-Package IronXL.Excel

Oder verwenden Sie die .NET-CLI:

dotnet add package IronXL.Excel

Wie man Excel-Daten in vorhandene Excel-Dateivorlagen in C# mit IronXL exportiert: Bild 3 - Installation

IronXL funktioniert unabhängig und benötigt keine Installation von Microsoft Office, wodurch es sich ideal für Serverumgebungen und plattformübergreifende Anwendungen eignet. Eine detaillierte Installationsanleitung finden Sie im IronXL Leitfaden für Einsteiger . Die Bibliothek ist für .NET Framework, .NET Core und .NET 5 bis .NET 10 ausgelegt und läuft unter Windows, Linux und macOS.

Fügen Sie nach der Installation den Namespace am Anfang Ihrer Datei hinzu:

using IronXL;

Wie man Excel-Daten in vorhandene Excel-Dateivorlagen in C# mit IronXL exportiert: Bild 4 - Funktionen

Wie lädt und füllt man eine bestehende Excel-Vorlage?

Das Laden einer vorhandenen Vorlage ist mit der WorkBook.Load()- Methode von IronXL unkompliziert. Das folgende Beispiel öffnet eine Vorlage für einen Quartalsumsatzbericht und füllt bestimmte Zellen mithilfe von Top-Level-Anweisungen mit Daten:

using IronXL;

// Load the existing Excel template
WorkBook workbook = WorkBook.Load("ReportTemplate.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Write header values to named cells
sheet["B2"].Value = "Q4 2025 Sales Report";
sheet["C4"].StringValue = DateTime.Now.ToString("MMMM dd, yyyy");
sheet["C6"].DecimalValue = 125000.50m;
sheet["C7"].DecimalValue = 98500.75m;

// Add a profit formula -- Excel recalculates automatically
sheet["C8"].Formula = "=C6-C7";

// Populate a column range with monthly data
decimal[] monthlyData = { 10500, 12300, 15600, 11200 };
for (int i = 0; i < monthlyData.Length; i++)
{
    sheet[$"E{10 + i}"].DecimalValue = monthlyData[i];
}

// Save the populated file
workbook.SaveAs("Q4_Sales_Report.xlsx");

Dieser Code lädt eine vordefinierte Vorlage, behält die gesamte vorhandene Formatierung bei und füllt bestimmte Zellen aus. Die DecimalValue- Eigenschaft stellt sicher, dass numerische Daten die korrekte Währungs- oder Dezimalformatierung beibehalten. Formelzellen werden automatisch neu berechnet, wenn sich die angrenzenden Daten ändern, sodass die Berechnungslogik der Vorlage erhalten bleibt.

Hinweise zum Arbeiten mit Excel-Zellbezügen und -Bereichen finden Sie in der IronXL Dokumentation zu Zellen und Bereichen . Auf der IronXL -Beispielseite können Sie außerdem weitere Muster entdecken.

Eingabe

Wie man Excel-Daten in vorhandene Excel-Dateivorlagen in C# mit IronXL exportiert: Bild 5 - Beispielvorlageneingabe

Ausgabe

Wie man Excel-Daten in vorhandene Excel-Dateivorlagen in C# mit IronXL exportiert: Bild 6 - Excel-Vorlagenausgabe laden

Wie ersetzt man Platzhalter in einer Vorlage?

Viele Vorlagen verwenden Platzhaltertextmarkierungen -- zum Beispiel, {{CustomerName}} oder {{InvoiceDate}} -- die durch tatsächliche Laufzeitwerte ersetzt werden müssen. IronXL löst dieses Problem durch Zelleniteration über einen definierten Bereich. Dieses Muster ist besonders nützlich für die Rechnungsgenerierung, Vertragsbestückung und Erstellung personalisierter Berichte:

using IronXL;

// Load an invoice template containing placeholder markers
WorkBook workbook = WorkBook.Load("InvoiceTemplate.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Iterate over a range and replace placeholder text
foreach (var cell in sheet["A1:H50"])
{
    if (cell.Text.Contains("{{CustomerName}}"))
        cell.Value = cell.Text.Replace("{{CustomerName}}", "Acme Corporation");

    if (cell.Text.Contains("{{InvoiceDate}}"))
        cell.Value = cell.Text.Replace("{{InvoiceDate}}", DateTime.Now.ToShortDateString());

    if (cell.Text.Contains("{{InvoiceNumber}}"))
        cell.Value = cell.Text.Replace("{{InvoiceNumber}}", "INV-2025-001");
}

// Append line items starting at row 15
var items = new[]
{
    new { Description = "Software License", Qty = 5, Price = 299.99 },
    new { Description = "Support Package",  Qty = 1, Price = 999.99 }
};

int startRow = 15;
foreach (var item in items)
{
    sheet[$"B{startRow}"].Value      = item.Description;
    sheet[$"E{startRow}"].IntValue   = item.Qty;
    sheet[$"F{startRow}"].DoubleValue = item.Price;
    sheet[$"G{startRow}"].Formula    = $"=E{startRow}*F{startRow}";
    startRow++;
}

workbook.SaveAs("GeneratedInvoice.xlsx");

Bei diesem Ansatz werden Marker innerhalb eines definierten Zellbereichs gesucht und durch tatsächliche Werte ersetzt. Das Format der Vorlage – Schriften, Farben, Rahmen und Zahlenformate – bleibt durchgehend intakt. Für fortgeschrittenere Stiländerungen zur Laufzeit sehen Sie sich den IronXL-Zellen-Stil-Leitfaden an, der Hintergrundfarben, Schrifteigenschaften und Rahmenstile behandelt.

Wie wählt man den richtigen Zellbereich für die Iteration aus?

Beim Iterieren zur Suche nach Platzhaltern sollte ein Bereich gewählt werden, der alle Zellen mit Markierungen abdeckt, ohne unnötig groß zu sein. Ein Bereich wie "A1:H50" ist effizient für die meisten Rechnungsvorlagen. Bei Vorlagen, deren Daten sich über Hunderte von Zeilen erstrecken, sollte die Iteration auf den Kopfbereich beschränkt und für den Datenkörper die direkte Zelladressierung verwendet werden. Dadurch bleibt die Leistung auch bei großen Arbeitsmappen vorhersehbar.

Wie gehen Sie mit fehlenden oder nicht übereinstimmenden Platzhaltern um?

Fügen Sie eine Überprüfung auf Null oder Leere hinzu, bevor Sie .Replace() aufrufen, um Ausnahmen zu vermeiden, wenn sich die Vorlagenversionen unterscheiden. Sie können nicht aufgelöste Platzhalter zu Debugging-Zwecken protokollieren:

using IronXL;

WorkBook workbook = WorkBook.Load("InvoiceTemplate.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

var replacements = new Dictionary<string, string>
{
    { "{{CustomerName}}", "Acme Corporation" },
    { "{{InvoiceDate}}", DateTime.Now.ToShortDateString() },
    { "{{InvoiceNumber}}", "INV-2025-002" }
};

foreach (var cell in sheet["A1:H50"])
{
    if (string.IsNullOrEmpty(cell.Text)) continue;

    foreach (var replacement in replacements)
    {
        if (cell.Text.Contains(replacement.Key))
            cell.Value = cell.Text.Replace(replacement.Key, replacement.Value);
    }
}

workbook.SaveAs("GeneratedInvoice_Safe.xlsx");

Die Verwendung eines Wörterbuchs mit Ersetzungen erleichtert die Wartung und Erweiterung des Codes, wenn neue Platzhaltertypen zur Vorlage hinzugefügt werden.

Wie erstellt man einen Monatsbericht anhand einer Vorlage?

Hier ist ein praktisches Beispiel, das aus einer bestehenden Excel-Vorlage mit vorformatierten Zellen, Diagrammen und Prozentformeln einen monatlichen Verkaufsbericht generiert. Der Code verwendet Anweisungen auf oberster Ebene und akzeptiert ein Wörterbuch mit Zuordnungen von Produkten zu Verkäufen:

using IronXL;

// Load the monthly report template
WorkBook workbook = WorkBook.Load("MonthlyReportTemplate.xlsx");
WorkSheet sheet = workbook.GetWorkSheet("Monthly Report");

// Build sample sales data
var salesData = new Dictionary<string, decimal>
{
    { "Product A", 42500.00m },
    { "Product B", 31750.50m },
    { "Product C", 18300.25m }
};

// Write report header
sheet["B2"].Value = $"Sales Report - {DateTime.Now:MMMM yyyy}";
sheet["B3"].Value = $"Generated: {DateTime.Now:g}";

// Write each product row starting at row 6
int currentRow = 6;
decimal totalSales = salesData.Values.Sum();

foreach (var sale in salesData)
{
    sheet[$"B{currentRow}"].Value = sale.Key;
    sheet[$"C{currentRow}"].DecimalValue = sale.Value;
    // Percentage of total formula
    sheet[$"D{currentRow}"].Formula = $"=C{currentRow}/C{currentRow + salesData.Count}*100";
    currentRow++;
}

// Write the total row and apply bold style
sheet[$"C{currentRow}"].DecimalValue = totalSales;
sheet[$"C{currentRow}"].Style.Font.Bold = true;

// Save with a date-stamped filename
string outputPath = $"Reports/Monthly_Report_{DateTime.Now:yyyyMMdd}.xlsx";
workbook.SaveAs(outputPath);

Diese Methode füllt eine standardisierte Vorlage aus, berechnet prozentuale Beiträge automatisch und bewahrt das professionelle Aussehen der Vorlage. Die bestehenden Diagramme in der Vorlage werden auf Basis der neuen Datenwerte aktualisiert, da ihre Quellbereiche unverändert bleiben.

Beim Übertragen von Daten aus einem DataTable oder DataSet, bewahren Sie die Spaltennamen und behandeln Sie die erste Zeile als Kopfzeilen. Weitere Informationen zum Importieren aus DataTable Objekten finden Sie in der IronXL DataTable Dokumentation.

Eingabe

Wie man Excel-Daten in vorhandene Excel-Dateivorlagen in C# mit IronXL exportiert: Bild 7 - Excel-Vorlageneingabe

Ausgabe

Wie man Excel-Daten in vorhandene Excel-Dateivorlagen in C# mit IronXL exportiert: Bild 8 - Monatsberichts-Ausgabe

Wie behebt man häufige Vorlagenfehler?

Bei der Arbeit mit Vorlagen treten regelmäßig verschiedene Probleme auf. Die folgende Tabelle ordnet jedem Symptom seine Ursache und Lösung zu:

Häufige IronXL Vorlagenfehler und ihre Lösungen
SymptomWahrscheinliche UrsacheAuflösung
FileNotFoundException beim LadenFalscher Dateipfad oder falsches ArbeitsverzeichnisVerwenden Sie Path.Combine(AppContext.BaseDirectory, "template.xlsx") für zuverlässige Pfade
Formeln mit veralteten WertenAutomatische Berechnung nach dem Schreiben nicht ausgelöstCall sheet.Calculate() before save
Passwortgeschützte Vorlage kann nicht geöffnet werdenDie Vorlage verfügt über ein Arbeitsmappen- oder Tabellenblattpasswort.Übergeben Sie das Passwort: WorkBook.Load("template.xlsx", "password")
Hoher Speicherverbrauch bei großen DatenmengenDas gesamte Arbeitsbuch wird während des Schreibens im Speicher gehalten.Verwenden Sie workbook.SaveAs() mit Streaming und geben Sie die Arbeitsmappe nach dem Speichern frei.
Zellformatierung nach dem Schreiben verloren gegangenDas Zellstilobjekt wird direkt überschrieben.Legen Sie nur Wert/Formel fest – vermeiden Sie es, das gesamte Stilobjekt zu ersetzen.
Diagrammdaten werden nicht aktualisiertSchreiben außerhalb des Quellbereichs der GrafikStellen Sie sicher, dass die Datenzeilen innerhalb des benannten Bereichs oder der Tabelle bleiben, die das Diagramm speist.

Für passwortgeschützte Dateien geben Sie das Passwort als zweiten Parameter an WorkBook.Load ein. Wenn Formeln nach dem Schreiben der Daten nicht aktualisiert werden, rufen Sie sheet.Calculate() auf, bevor Sie workbook.SaveAs() aufrufen. Bei großen Datensätzen sollte das Arbeitsmappenobjekt nach dem Speichern freigegeben werden, um den verwalteten und nicht verwalteten Speicher umgehend freizugeben.

Zusätzliche Ressourcen zur Fehlerbehebung finden Sie in der IronXL Dokumentation zur Fehlerbehebung und in der IronXL -API-Referenz .

Welche anderen Excel-Operationen unterstützt IronXL ?

Über die Vorlagenbefüllung hinaus bietet IronXL eine breite Palette an Excel-Bearbeitungsfunktionen, die den oben beschriebenen Arbeitsablauf ergänzen:

Diese Funktionen sind in die Vorlagenbefüllung integriert, sodass ein einziger Arbeitsablauf eine Vorlage laden, sie befüllen, sensible Formelzellen schützen und sowohl eine XLSX-Kopie als auch eine PDF-Version in einem Durchgang exportieren kann.

IronXL integriert sich außerdem gut mit anderen Datenaustauschformaten wie XML, sodass Sie strukturierte Daten importieren, transformieren und das Ergebnis in eine Vorlage exportieren können. Für fortgeschrittenere Integrationen mit datenbankgestützter Berichtserstellung siehe die Community-Tutorials im IronXL Blog .

Wie beginne ich mit IronXL in der Produktion?

IronXL ist für Entwicklung und Tests kostenlos. Wenn Sie bereit für die Bereitstellung sind, wählen Sie aus flexiblen Lizenzierungsoptionen, die einzelne Entwickler, Teams und die OEM-Weiterverteilung abdecken. Besuchen Sie die IronXL -Lizenzseite, um die für Ihr Projekt passende Option zu finden.

Um sofort loszulegen, laden Sie die kostenlose Testversion herunter und führen Sie die Codebeispiele in diesem Tutorial anhand Ihrer eigenen Vorlagen aus. Die IronXL NuGet Seite bietet Versionsverlauf und Paketdetails. Diskussionen in der Community und weitere Beispiele finden Sie im GitHub Repository von Iron Software . Hintergrundinformationen zum Open-XML-Dateiformat, das XLSX-Dateien zugrunde liegt, finden Sie in der Spezifikationsübersicht ECMA-376 .

Für Organisationen, die IronXL neben Alternativen bewerten, decken die IronXL-Vergleichsleitfäden Funktionsunterschiede, Lizenzmodelle und Leistungsbenchmarks ab, um Ihnen zu helfen, eine fundierte Entscheidung zu treffen.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

...
Weiterlesen

Verwandte Artikel

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
AWS-Logo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Azure (WebApps, Funktionen v3)
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Azure (WebApps, Funktionen v3)
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.