[C#/SQL] Mehrere gleiche Spaltennamen in Excel

Gary82

Grünschnabel
Hallo,

ich habe mal wieder ein kleines Problem, wo ich auch nichts genaueres finde, um es zu lösen. Wäre schön, wenn mir da jemand einen Tipp oder gar weiterhelfen könnte.

Ist einfach zu erklären, aber an einer Lösung fehlt es mir...

Ich lese in C# eine Exceldatei aus, und bisher ist es mir nicht gelungen, Spalten auszufiltern die doppelt und dreifach vorkommen.

So sieht es bisher aus:
Code:
...
string connStringExcel = @"Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data Source=" + FabModelPath + @"; Extended Properties=""Excel 8.0;HDR=Yes""";
...
OleDbConnection objConnExcel = new OleDbConnection(connStringExcel);
...
objConnExcel.Open();
...
Hier ist das eigentliche Problem, die Where-Klausel bei gleichen Spalten in Excel, siehe weiter unten:
string SheetSelect = "SELECT ROUTE, STEP FROM [" + Arbeitsblatt + "$] WHERE STEP > 1 GROUP BY ROUTE, STEP ORDER BY ROUTE, STEP";


Im Excel schaut es, also mal nur die Überschriften betrachtet, so aus: (Info - Es ist leider nicht möglich, diese IGNORE's umzubenennen, da sie von einer anderen Software strickt vorgegeben werden. Also, man kann sie nicht einfach in IGNORE_1, IGNORE_2, usw. umbenennen.)
Code:
IGNORE IGNORE ROUTE STEP IGNORE	ALT YIELD ...usw.

D.h., es muss doch irgendwie möglich sein, mein Statement auf die verschiedenen IGNORE's auch anwenden zu können?

Code:
string SheetSelect = "SELECT \"IGNORE\", \"IGNORE\", ROUTE, STEP FROM [" + Arbeitsblatt + "$] WHERE STEP > 1 AND \"IGNORE\" <> '~' GROUP BY ROUTE, STEP ORDER BY ROUTE, STEP"; //wäre das erste IGNORE, was in Excel steht.

Kommt dann natrülich eine Fehlermeldung:
The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.


Weil er nicht weiß, welches IGNORE ich meine...


Edit: Nein, nehme es zurück, funktioniert doch nicht, wie unten angenommen. ._.

Ergänzung: Wie filtere ich eigentlich nach ~ Tilden ?

Code:
string SheetSelect = "SELECT \"IGNORE\" AS \"IGNORE_1\", \"IGNORE\" AS \"IGNORE_2\", ROUTE, STEP FROM [" + Arbeitsblatt + "$] WHERE STEP > 1 AND \"IGNORE_1\" <> '~' GROUP BY ROUTE, STEP ORDER BY ROUTE, STEP"; //wäre das erste IGNORE, was in Excel steht.
 
Zuletzt bearbeitet:
Zurück