Laden...

Import aus csv datei, problem mit leerzeilen am ende

Erstellt von opel vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.214 Views
O
opel Themenstarter:in
59 Beiträge seit 2008
vor 14 Jahren
Import aus csv datei, problem mit leerzeilen am ende

ich überführe eine csv datei in ein dataset per

System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source = " + System.IO.Path.GetDirectoryName(strFileName) + "; Extended Properties = \"Text;HDR=YES;FMT=Delimited\"");
            conn.Open();
            string strQuery = "SELECT * FROM [" + System.IO.Path.GetFileName(strFileName) + "]";
            System.Data.OleDb.OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter(strQuery, conn);
            System.Data.DataSet ds = new System.Data.DataSet("CSV File");
            adapter.Fill(ds);
            return ds.Tables[0];

Meine Datei hat 10 Zeilen mit 17 Spalten, die Methode bringt mir aber ca 3900 zeilen ins DataSet - Die 10 Zeilen und 3890 Leerzeilen. Es würde sicher helfen von Hand die Zeilen unter meinem 10 Zeilen Inhalt in Excel zu markieren und Del zu drücken, dann wäre die Datei sauber.

Wie kann ich mein Problem lösen?

S
138 Beiträge seit 2006
vor 14 Jahren

Versuch einmal den Query so zu überarbeiten, dass du gezielt abfragst, dass der Inhalt nicht "" sein darf.

79 Beiträge seit 2005
vor 14 Jahren

Hast du das CSV zufällig mit nem aktuellen Excel erstellt? Seit der neuen Version ist es bei mir nämlich auch so, daß nach gefüllten Zeilen noch ne ganze Menge Leerzeilen eingefügt werden. Lösung? Bisher noch nicht, außer die CSV mit texteditor nachzubearbeiten :-|

roses are #FF0000 violets are #0000FF
all my base are belong to you

O
opel Themenstarter:in
59 Beiträge seit 2008
vor 14 Jahren

Die csv Dateien sind von div. Kunden wo wohl Excel 2003 und Excel 2007 vertreten sind.

Wenn man sich die csv Dateien in einem Editor anschaut, sieht man, dass die Leerzeilen nur die Trenner Semikolon enthalten.

Ich hab´ den query entsprechend angepasst und in der where bedingung null und '' ausgeschlossen.