Laden...

Converter XLS/XLSX zu CSV

Erstellt von mkolb vor 2 Jahren Letzter Beitrag vor 2 Jahren 975 Views
M
mkolb Themenstarter:in
48 Beiträge seit 2017
vor 2 Jahren
Converter XLS/XLSX zu CSV

Hallo,
ich möchte XLS/XLSX-Dateien zu CSV konvertieren.
Habe dazu etwas gefunden und es ist relativ gut, aber bei manchen Excel-Dateien, wir die erste Zeile nicht erkannt/ausgelesen.
C# .NET - Convert Excel 2007 (XLSX) to CSV using OLE DB

Da wird alles ausgelesen, außer der 1. Zeile:


                //Fill the dataset with information from the Sheet 1 worksheet.
                var adapter1 = new OleDbDataAdapter("SELECT * FROM [" + worksheetName + "]", connectionString);
                var ds = new DataSet();
                adapter1.Fill(ds, "results");
                DataTable data = ds.Tables["results"];

                //Show all columns
                for (int i = 0; i < data.Rows.Count - 1; i++)
                {
                    for (int j = 0; j < data.Columns.Count; j++)
                        Console.Write("\"" + data.Rows[i].ItemArray[j] + "\";");
                    Console.WriteLine();
                }

Welchen Gedankenfehler habe ich hier drin, den ich übersehe ?

Tschau
Martin

2.078 Beiträge seit 2012
vor 2 Jahren

OLE DB ist eine DB-Interface, wenn Excel der Meinung ist, die erste Zeile sind Spalten-Namen, dann gehören die natürlich nicht zu den Daten - so zumindest meine Theorie.

Oder Du liest einfach die Datei selber, wenn dahinter OpenXml steckt, ist das recht einfach.
Mit der offiziellen Implementierung von Microsoft habe ich bisher nur geschrieben (und das war grausig), aber es gibt einen hervorragenden Wrapper namens "ClosedXml".
Mit ClosedXml habe ich bisher auch nur geschrieben, aber das war mMn. super intuitiv und ich war deutlich schneller fertig, als noch beim vorherigen Projekt mit OpenXml.

M
mkolb Themenstarter:in
48 Beiträge seit 2017
vor 2 Jahren

Hi,
ich löse das nun mit dem ExcelDataReader:

https://github.com/ExcelDataReader/ExcelDataReader

Tschau
Martin