Export in excel-Datei ohne Header, c# mit Oledb
Ich bin mit OLE-DB und möchte ich exportieren meine Objekte in excel-Tabelle. Jede Zeile in dem Blatt wird eines meiner Objekte. Das problem ist, dass ich nicht wissen, wie Sie Daten einfügen, wenn es keine Spaltenüberschriften in dem Blatt.
Diese:
commandString = "Insert into [Sheet1$] values('test1', 'test2')"
wirft diese exception:
Number of query values and destination fields are not the same.
Mein connection string:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+filename+";Extended Properties='Excel 8.0;HDR=No'"
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn die Verbindungszeichenfolge enthält HDR=NO dann der Jet OLE DB-provider automatisch den Namen der Felder (F1 für das erste Feld F2 für das zweite Feld, und so weiter).
Ich werde versuchen, ändern Sie Ihre Abfrage in dieser Art und Weise
dies funktioniert nur, wenn Sie die excel-Datei und haben etwas eingefügt in die ersten beiden Zellen der ersten Zeile in Sheet1
Account #
. Aus welchem Grund auch immer, die#
symbol in der Spalte header erstellt, dieser Fehler.Müssen Sie die Werte, die Sie schreiben, da Sie nicht mit einem HDR - verwenden Sie einfach die Zellen.
Die Fehlermeldung "Anzahl der abfragewerte" vereinfacht bedeutet das - es sind keine Felder zugeordnet die Werte geliefert.
Update: @Steve hatte Recht mit den Feldern (F1,F2,etc.), und der code unten funktioniert hier:
F1
erkannt wird und eine exception geworfen wird, beim einfügen inF2
.select
Methode. Das auch nur zurückF1
. Hässlich, wie es scheinen mag, ich fürchte, ich hätte es zu akzeptieren, und fügen Sie die Spaltenüberschriften. (Obwohl das ist, was ich versuche zu vermeiden) 🙁 vielen Dank jedenfalls.