Zum Fußzeileninhalt springen
IRONXL VERWENDEN

Wie man Excel-Dateien in C# liest, anstatt StreamReader zu verwenden

Viele C#-Entwickler stoßen auf eine frustrierende Herausforderung beim Arbeiten mit Excel-Dateien: die StreamReader-Klasse, die Textdateien zuverlässig verarbeitet, versagt völlig, wenn sie auf ein Excel-Dokument verweist. Wenn Sie versucht haben, eine Excel-Datei mit StreamReader in C# zu lesen und dabei unleserliche Zeichen, binären Lärm oder unerwartete Ausnahmen gesehen haben, sind Sie in guter Gesellschaft. Diese Anleitung erklärt genau, warum StreamReader Excel-Dateien nicht verarbeiten kann, und zeigt Ihnen, wie Sie das Problem korrekt mit IronXL lösen -- einer dedizierten Excel-Bibliothek for .NET, die keine Excel-Installation erfordert.

Das Missverständnis entsteht oft, weil CSV-Dateien -- die Excel öffnen und speichern kann -- gut mit StreamReader funktionieren. Echte Excel-Dateien (XLSX, XLS, XLSM) erfordern einen grundlegend anderen Ansatz. Das Verständnis dieses Unterschieds wird Ihnen Stunden der Fehlersuche ersparen und Sie zum richtigen Werkzeug für die Aufgabe führen.

Alternative zum Lesen einer Excel-Datei mit StreamReader in C# - IronXL: Bild 1 - IronXL

Warum kann StreamReader keine Excel-Dateien lesen?

StreamReader ist ein textbasierter Leser. Es liest Zeichendaten Zeile für Zeile unter Verwendung einer angegebenen Kodierung (UTF-8, ASCII usw.) und hat kein Bewusstsein für binäre Strukturen oder komprimierte Archive. Die offizielle .NET StreamReader-Dokumentation bestätigt, dass diese Klasse ausschließlich für zeichenkodierten Text ausgelegt ist. Excel-Dateien, die aussehen wie einfache Tabellenkalkulationen, sind tatsächlich komplexe binäre oder ZIP-komprimierte XML-Strukturen, die StreamReader nicht interpretieren kann.

Wenn Sie eine XLSX-Datei mit StreamReader öffnen, versuchen Sie im Wesentlichen, ein ZIP-Archiv als normalen Text zu lesen. Das Ergebnis ist ein Strom aus binärem Rauschen statt Ihrer Tabellendaten.

// This code will NOT work -- demonstrates the problem
using StreamReader reader = new StreamReader("ProductData.xlsx");
string content = reader.ReadLine();
Console.WriteLine(content); // Outputs garbled binary data like "PK♥♦"
// This code will NOT work -- demonstrates the problem
using StreamReader reader = new StreamReader("ProductData.xlsx");
string content = reader.ReadLine();
Console.WriteLine(content); // Outputs garbled binary data like "PK♥♦"
$vbLabelText   $csharpLabel

Wenn Sie diesen Ausschnitt ausführen, treffen Sie statt auf Ihre Tabellenzeilen auf binäre Zeichen wie PK♥♦ oder ähnliches Rauschen. Das passiert, weil:

  • XLSX-Dateien sind ZIP-Archive, die mehrere XML-Dateien enthalten: Arbeitsblätter, Stile, freigegebene Strings, Beziehungen. Die Open XML SDK-Dokumentation bietet eine detaillierte Aufschlüsselung dieser Struktur.
  • XLS-Dateien verwenden ein proprietäres binäres Format (BIFF -- Binary Interchange Dateiformat).
  • StreamReader wendet eine Zeichenkodierung auf alle gelesenen Bytes an, was für beide Formate zu bedeutungslosem Output führt.

Beispiel-Input

Alternative zum Lesen einer Excel-Datei mit StreamReader in C# - IronXL: Bild 2 - Excel Input

Unleserlicher Output bei Verwendung von StreamReader

Alternative zum Lesen einer Excel-Datei mit StreamReader in C# - IronXL: Bild 3 - Konsolenausgabe

Warum CSV funktioniert, XLSX jedoch nicht

CSV (Comma-Separated Values) ist ein Plain-Text-Format. Jede Zeile ist eine Textzeile, und jede Spalte ist durch ein Komma getrennt. StreamReader liest CSV-Dateien ohne Probleme, da sie keine Binärdaten oder komprimierten Archive enthalten. XLSX ist grundlegend anders: Es verpackt mehrere XML-Dokumente in einem ZIP-Container mit Metadaten, Themen und Stildefinitionen. Es ist kein einfaches zeilenweises Lesen möglich.

Dieser Unterschied ist bei der Auswahl Ihrer Werkzeuge wichtig. Für CSV-Dateien sind StreamReader oder File.ReadAllLines völlig ausreichend. Für echte Excel-Arbeitsmappen benötigen Sie eine Bibliothek, die das Format auf struktureller Ebene versteht.

Wie installieren Sie IronXL in einem .NET-Projekt?

IronXL ist eine .NET-Bibliothek, die Excel-Dateien lesen, schreiben und erstellen kann, ohne dass Microsoft Excel installiert sein muss. Sie unterstützt die Formate XLSX, XLS, XLSM, CSV und TSV und läuft auf Windows, Linux, macOS und Docker-Containern.

Um IronXL zu installieren, verwenden Sie entweder die NuGet-Paket-Manager-Konsole oder die .NET-CLI. Das Paket wird auf NuGet.org als IronXL veröffentlicht:

Install-Package IronXL
dotnet add package IronXL
Install-Package IronXL
dotnet add package IronXL
SHELL

Nach der Installation fügen Sie die using IronXL;-Direktive in Ihre Datei ein und Sie sind bereit, mit Excel-Dokumenten zu arbeiten.

Alternative zum Lesen einer Excel-Datei mit StreamReader in C# - IronXL: Bild 5 - Installation

Für detaillierte Installationsschritte und NuGet-Konfigurationsoptionen siehe den IronXL NuGet-Installationsleitfaden. Eine kostenlose Testlizenz steht zur Verfügung, damit Sie IronXL in Ihrem Projekt evaluieren können, bevor Sie es kaufen.

Alternative zum Lesen einer Excel-Datei mit StreamReader in C# - IronXL: Bild 4 - Plattformübergreifend

Wie lesen Sie Excel-Dateien mit IronXL?

IronXL bietet eine intuitive API zum Lesen von Excel-Dateien in C#. Im Gegensatz zu StreamReader versteht IronXL die interne Struktur von Excel und ermöglicht Ihnen einen klaren Zugriff auf Zeilen, Spalten und Zellwerte. Die IronXL-Dokumentation bietet vollständige API-Referenzen für alle unterstützten Operationen.

So lesen Sie eine Excel-Datei mit IronXL und Top-Level-Anweisungen:

using IronXL;

// Load the Excel file from disk
WorkBook workbook = WorkBook.Load("ProductData.xlsx");
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Read a specific cell by address
string cellValue = worksheet["A1"].StringValue;
Console.WriteLine($"Cell A1 contains: {cellValue}");

// Iterate over a range of cells
foreach (var cell in worksheet["A1:C10"])
{
    Console.WriteLine($"{cell.AddressString}: {cell.Text}");
}

// Read a numeric value
decimal price = worksheet["B2"].DecimalValue;
Console.WriteLine($"Price: {price:C}");
using IronXL;

// Load the Excel file from disk
WorkBook workbook = WorkBook.Load("ProductData.xlsx");
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Read a specific cell by address
string cellValue = worksheet["A1"].StringValue;
Console.WriteLine($"Cell A1 contains: {cellValue}");

// Iterate over a range of cells
foreach (var cell in worksheet["A1:C10"])
{
    Console.WriteLine($"{cell.AddressString}: {cell.Text}");
}

// Read a numeric value
decimal price = worksheet["B2"].DecimalValue;
Console.WriteLine($"Price: {price:C}");
$vbLabelText   $csharpLabel

Die WorkBook.Load-Methode erkennt das Dateiformat (XLSX, XLS, XLSM, CSV) automatisch und verarbeitet das komplexe Parsing. Sie greifen auf Zellen über den Standard-Excel-Neintation wie "A1" oder Bereiche wie "A1:C10" zu, was den Code sofort lesbar macht für jeden, der mit Tabellenkalkulationen vertraut ist.

Zugriff auf mehrere Arbeitsblätter

Viele Arbeitsmappen enthalten mehr als ein Blatt. IronXL ermöglicht es Ihnen, Arbeitsmappen zu öffnen und zu navigieren mit vollständiger Arbeitsblatt-Aufzählung:

using IronXL;

WorkBook workbook = WorkBook.Load("MultiSheet.xlsx");

// List all worksheets
foreach (WorkSheet sheet in workbook.WorkSheets)
{
    Console.WriteLine($"Sheet: {sheet.Name}, Rows: {sheet.RowCount}");
}

// Access a sheet by name
WorkSheet summary = workbook.GetWorkSheet("Summary");
string totalRevenue = summary["B20"].StringValue;
Console.WriteLine($"Total Revenue: {totalRevenue}");

// Access a sheet by index
WorkSheet firstSheet = workbook.WorkSheets[0];
int lastRow = firstSheet.RowCount;
Console.WriteLine($"Last row in first sheet: {lastRow}");
using IronXL;

WorkBook workbook = WorkBook.Load("MultiSheet.xlsx");

// List all worksheets
foreach (WorkSheet sheet in workbook.WorkSheets)
{
    Console.WriteLine($"Sheet: {sheet.Name}, Rows: {sheet.RowCount}");
}

// Access a sheet by name
WorkSheet summary = workbook.GetWorkSheet("Summary");
string totalRevenue = summary["B20"].StringValue;
Console.WriteLine($"Total Revenue: {totalRevenue}");

// Access a sheet by index
WorkSheet firstSheet = workbook.WorkSheets[0];
int lastRow = firstSheet.RowCount;
Console.WriteLine($"Last row in first sheet: {lastRow}");
$vbLabelText   $csharpLabel

Dieser Ansatz ist viel sauberer als jeder Versuch, Excel mit StreamReader oder String-Manipulation zu parsen.

Wie lesen Sie Excel-Daten aus einem Speicherstrom?

In realen Anwendungen müssen Excel-Dateien oft aus Streams und nicht von Datenträgern verarbeitet werden. Häufige Szenarien sind das Verarbeiten von Datei-Uploads aus Web-Formularen, das Abrufen von Arbeitsmappen aus einer Datenbank-BLOB-Spalte oder das Verarbeiten von Dateien, die aus Cloud-Speichern (Azure Blob Storage, AWS S3) heruntergeladen wurden. IronXL verarbeitet diese Szenarien durch WorkBook.FromStream:

using IronXL;
using System.IO;

// Simulate reading file bytes (e.g., from a database or web upload)
byte[] fileBytes = File.ReadAllBytes("ProductData.xlsx");

using MemoryStream stream = new MemoryStream(fileBytes);
WorkBook workbook = WorkBook.FromStream(stream);
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Get row and column counts
Console.WriteLine($"Rows: {worksheet.RowCount}, Columns: {worksheet.ColumnCount}");

// Convert to DataTable for database or grid binding
var dataTable = worksheet.ToDataTable(useHeaderRow: true);
Console.WriteLine($"Loaded {dataTable.Rows.Count} data rows");

foreach (System.Data.DataRow row in dataTable.Rows)
{
    string productName = row["ProductName"]?.ToString() ?? string.Empty;
    string sku = row["SKU"]?.ToString() ?? string.Empty;
    Console.WriteLine($"Product: {productName}, SKU: {sku}");
}
using IronXL;
using System.IO;

// Simulate reading file bytes (e.g., from a database or web upload)
byte[] fileBytes = File.ReadAllBytes("ProductData.xlsx");

using MemoryStream stream = new MemoryStream(fileBytes);
WorkBook workbook = WorkBook.FromStream(stream);
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Get row and column counts
Console.WriteLine($"Rows: {worksheet.RowCount}, Columns: {worksheet.ColumnCount}");

// Convert to DataTable for database or grid binding
var dataTable = worksheet.ToDataTable(useHeaderRow: true);
Console.WriteLine($"Loaded {dataTable.Rows.Count} data rows");

foreach (System.Data.DataRow row in dataTable.Rows)
{
    string productName = row["ProductName"]?.ToString() ?? string.Empty;
    string sku = row["SKU"]?.ToString() ?? string.Empty;
    Console.WriteLine($"Product: {productName}, SKU: {sku}");
}
$vbLabelText   $csharpLabel

WorkBook.FromStream akzeptiert jeden Stream -- MemoryStream, FileStream, oder einen Netzwerkstrom. Diese Flexibilität bedeutet, dass Sie niemals temporäre Dateien auf der Festplatte schreiben müssen, nur um Excel-Daten zu lesen. Die Konvertierung zu DataTable integriert sich auch direkt mit SqlBulkCopy, Datenbindungssteuerungen und Berichtserstellungs-Frameworks.

Ausgabe aus der Stream-Verarbeitung

Alternative zum Lesen einer Excel-Datei mit StreamReader in C# - IronXL: Bild 6 - Excel aus MemoryStream lesen Ausgabe

Wann verwenden Sie ereignisgesteuertes Excel-Lesen?

In ereignisgesteuerten Architekturen -- zum Beispiel eine Datei-Upload-Schaltfläche in Windows Forms oder eine ASP.NET Controller-Aktion -- enthält die Methodensignatur oft object sender und EventArgs e Parameter. Die Excel-Verarbeitung verwendet immer noch die gleiche IronXL-API, aber sie wird innerhalb des Ereignishandlers statt einer Top-Level-Anweisung aufgerufen. IronXL integriert sich sauber in jede ereignisgesteuerte oder asynchrone Arbeitsweise, da es keine Abhängigkeit von einem UI-Thread hat.

Alternative zum Lesen einer Excel-Datei mit StreamReader in C# - IronXL: Bild 7 - Funktionen

Wie konvertieren Sie zwischen Excel- und CSV-Formaten?

Während StreamReader CSV-Dateien verarbeiten kann, müssen Produktionsanwendungen oft Daten zwischen Excel und CSV verschieben. IronXL macht Formatkonvertierung einfach. Sie können Excel-Daten exportieren zu CSV oder CSV-Daten importieren in eine Arbeitsmappe in nur wenigen Zeilen:

using IronXL;

// Load an Excel file and save as CSV
WorkBook workbook = WorkBook.Load("SalesData.xlsx");
workbook.SaveAsCsv("output.csv");

// Load a CSV file and save as Excel
WorkBook csvWorkbook = WorkBook.LoadCSV("legacy-report.csv");
csvWorkbook.SaveAs("converted.xlsx");

// Export a specific worksheet to CSV
WorkSheet worksheet = workbook.WorkSheets[0];
worksheet.SaveAsCsv("sheet1-export.csv");
using IronXL;

// Load an Excel file and save as CSV
WorkBook workbook = WorkBook.Load("SalesData.xlsx");
workbook.SaveAsCsv("output.csv");

// Load a CSV file and save as Excel
WorkBook csvWorkbook = WorkBook.LoadCSV("legacy-report.csv");
csvWorkbook.SaveAs("converted.xlsx");

// Export a specific worksheet to CSV
WorkSheet worksheet = workbook.WorkSheets[0];
worksheet.SaveAsCsv("sheet1-export.csv");
$vbLabelText   $csharpLabel

Diese Konvertierungen erhalten Ihre Daten, während sie das Containerformat ändern. Beim Konvertieren von Excel zu CSV exportiert IronXL standardmäßig das erste Arbeitsblatt; Sie können jedes gewünschte Arbeitsblatt angeben. Das Konvertieren von CSV zu Excel erstellt eine ordnungsgemäß strukturierte Arbeitsmappe, die Sie dann formatieren, Formeln hinzufügen und zusätzliche Daten einfügen können.

Was sind die Unterschiede in der Formatunterstützung?

Vergleich von StreamReader und IronXL beim Lesen verschiedener Dateiformate
Dateiformat StreamReader IronXL Anmerkungen
CSV (.csv) Ja Ja Klartext; StreamReader funktioniert einwandfrei
XLSX (.xlsx) Nein Ja ZIP-komprimiertes XML; erfordert Bibliothek
XLS (.xls) Nein Ja Binäres BIFF-Format; erfordert Bibliothek
XLSM (.xlsm) Nein Ja Makro-fähige Arbeitsmappe
TSV (.tsv) Ja Ja Tab-getrennter Klartext

Wie erstellen und formatieren Sie Excel-Dateien mit IronXL?

Das Lesen von Excel-Daten ist nur ein Teil des Workflows. Viele Anwendungen müssen auch neue Excel-Dateien erstellen und Formatierungen anwenden. IronXL unterstützt Zellformatierungen einschließlich Schriften, Farben, Rahmen, Zahlenformate und Zellzusammenführung:

using IronXL;

// Create a new workbook and worksheet
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.CreateWorkSheet("Report");

// Write headers with formatting
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Units Sold";
sheet["C1"].Value = "Revenue";

// Apply bold formatting to header row
sheet["A1:C1"].Style.Font.Bold = true;
sheet["A1:C1"].Style.SetBackgroundColor("#4472C4");
sheet["A1:C1"].Style.Font.Color = "#FFFFFF";

// Write data rows
string[] products = { "Widget A", "Widget B", "Widget C" };
int[] units = { 120, 85, 210 };
decimal[] revenues = { 2400.00m, 1700.00m, 4200.00m };

for (int i = 0; i < products.Length; i++)
{
    sheet[$"A{i + 2}"].Value = products[i];
    sheet[$"B{i + 2}"].Value = units[i];
    sheet[$"C{i + 2}"].Value = revenues[i];
    sheet[$"C{i + 2}"].FormatString = "$#,##0.00";
}

// Save the workbook
workbook.SaveAs("FormattedReport.xlsx");
Console.WriteLine("Report created successfully.");
using IronXL;

// Create a new workbook and worksheet
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.CreateWorkSheet("Report");

// Write headers with formatting
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Units Sold";
sheet["C1"].Value = "Revenue";

// Apply bold formatting to header row
sheet["A1:C1"].Style.Font.Bold = true;
sheet["A1:C1"].Style.SetBackgroundColor("#4472C4");
sheet["A1:C1"].Style.Font.Color = "#FFFFFF";

// Write data rows
string[] products = { "Widget A", "Widget B", "Widget C" };
int[] units = { 120, 85, 210 };
decimal[] revenues = { 2400.00m, 1700.00m, 4200.00m };

for (int i = 0; i < products.Length; i++)
{
    sheet[$"A{i + 2}"].Value = products[i];
    sheet[$"B{i + 2}"].Value = units[i];
    sheet[$"C{i + 2}"].Value = revenues[i];
    sheet[$"C{i + 2}"].FormatString = "$#,##0.00";
}

// Save the workbook
workbook.SaveAs("FormattedReport.xlsx");
Console.WriteLine("Report created successfully.");
$vbLabelText   $csharpLabel

Diese Fähigkeit, sowohl vorhandene Arbeitsmappen zu lesen als auch neue formatierte Dateien zu erstellen, macht IronXL zu einer vollständigen Excel-Lösung for .NET-Anwendungen. Prüfen Sie die vollständige IronXL-Feature-Seite für eine detaillierte Aufschlüsselung der unterstützten Operationen.

Datenexport in andere Formate

IronXL unterstützt auch den Export von Arbeitsmappendaten in DataSet-Objekte, was besonders nützlich ist, wenn mehrere Arbeitsblätter im Speicher geladen werden sollen für bereichsübergreifende Berechnungen oder Masseninsertionsoperationen in Datenbanken. Die ToDataSet-Methode gibt eine DataSet zurück, wobei jedes Arbeitsblatt zu einem DataTable wird.

Alternative zum Lesen einer Excel-Datei mit StreamReader in C# - IronXL: Bild 8 - Lizenzierung

Wie lizenzieren und implementieren Sie IronXL in der Produktion?

IronXL ist kostenlos für Entwicklung und Tests. Für Produktionsanwendungen ist eine Lizenz erforderlich. Sie können IronXL-Lizenzierungsoptionen auf der Produktseite erkunden, die Entwickler-, Team- und Organisationsebenen abdecken, je nach Ihren Bereitstellungsanforderungen.

Nach dem Kauf wenden Sie Ihren Lizenzschlüssel im Code an, bevor Sie IronXL-Aufrufe ausführen:

IronXl.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
IronXl.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
$vbLabelText   $csharpLabel

Alternativ setzen Sie die IRONXL_LICENSE_KEY-Umgebungsvariable in Ihrer Bereitstellungsumgebung, und IronXL wird diese automatisch übernehmen. Dies ist der bevorzugte Ansatz für containerisierte Bereitstellungen (Docker, Kubernetes) und Cloud-Umgebungen, in denen das Festcodieren von Schlüsseln nicht akzeptabel ist.

Zu Evaluierungszwecken bietet eine kostenlose Testlizenz volle Funktionalität, sodass Sie IronXL gegen Ihre spezifischen Workloads validieren können, bevor Sie sich zum Kauf entscheiden. Die Testversion ist ohne Kreditkarte verfügbar und aktiviert sich sofort.

Verglichen mit Alternativen wie Microsoft.Office.Interop.Excel hat IronXL mehrere Bereitstellungsvorteile:

  • Keine Anforderung, dass Microsoft Excel auf dem Server installiert sein muss
  • Kompatibel mit Linux und Docker -- entscheidend für Cloud-native Anwendungen
  • Keine Verwaltung des Lebenszyklus von COM-Objekten oder Threading-Probleme
  • Schnellere Startzeit und niedrigerer Speicherverbrauch in Serverkontexten
  • Konsistentes Verhalten auf allen unterstützten Plattformen

Diese Eigenschaften machen IronXL zu einer praktischen Wahl für jede .NET-Anwendung, die Excel-Dateien in der Produktion verarbeiten muss, ob vor Ort oder in der Cloud.

Häufig gestellte Fragen

Warum kann StreamReader Excel-Dateien nicht direkt verarbeiten?

StreamReader ist für das Lesen von Textdateien konzipiert und kann die in Excel-Dateien verwendeten Binär- oder komplexen strukturierten Datenformate nicht verarbeiten. Diese Einschränkung führt zu fehlerhaften Zeichen oder Ausnahmen, wenn versucht wird, Excel-Dateien direkt mit StreamReader zu lesen.

Welche Lösung wird zum Lesen von Excel-Dateien in C# empfohlen?

Die empfohlene Lösung ist die Verwendung von IronXL, einer leistungsstarken Bibliothek, mit der Sie Excel-Dateien in C# lesen, bearbeiten und erstellen können, ohne dass Excel Interop erforderlich ist. IronXL kann die komplexe Struktur von Excel-Dateien effizient verarbeiten.

Welche Vorteile bietet IronXL gegenüber Excel Interop?

IronXL bietet gegenüber Excel Interop mehrere Vorteile, darunter eine bessere Performance, keine Abhängigkeit von der Installation von Excel auf dem Server- oder Clientrechner, eine einfachere Bereitstellung und die Möglichkeit, mit Excel-Dateien in Web- und Cloud-Umgebungen zu arbeiten.

Kann IronXL sowohl .xls- als auch .xlsx-Dateiformate verarbeiten?

Ja, IronXL kann sowohl .xls- als auch .xlsx-Excel-Dateiformate verarbeiten und bietet Entwicklern, die mit verschiedenen Arten von Excel-Dokumenten arbeiten, somit Flexibilität.

Kann IronXL in Webanwendungen verwendet werden?

Ja, IronXL ist dank seiner geringen Größe und Kompatibilität mit .NET Core und .NET Framework für den Einsatz in verschiedenen Anwendungstypen, einschließlich Webanwendungen, konzipiert.

Benötigt IronXL die Installation von Microsoft Excel?

Nein, IronXL benötigt weder auf dem Server noch auf dem Client-Rechner die Installation von Microsoft Excel und eignet sich daher ideal für serverseitige Anwendungen und Cloud-Umgebungen.

Was sind einige typische Anwendungsfälle für IronXL?

Typische Anwendungsfälle für IronXL sind die Datenextraktion und -analyse aus Excel-Dateien, die Erstellung von Berichten, die Automatisierung der Erstellung und Änderung von Excel-Dateien sowie die Integration von Excel-Daten in andere Anwendungen.

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me