Laden...

Excel 2003 Datei : Einlesen in DataTable

Erstellt von Ahrimaan vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.510 Views
A
Ahrimaan Themenstarter:in
350 Beiträge seit 2010
vor 13 Jahren
Excel 2003 Datei : Einlesen in DataTable

Hallo zusammen,

ich lese über OleDb eine Exceldatei ein.
Leider wird beim ExecuteReader ein Fehler geworfen :
(Siehe Anhang)

So , wie umgehe ich nun dieses Problem ?
Kann der DataReader etwas nicht mit so vielen Felder umgehen ?

Grüße

2.891 Beiträge seit 2004
vor 13 Jahren

Kann der DataReader etwas nicht mit so vielen Felder umgehen?

Wie viele Felder sind es denn?
Funktioniert es, wenn du (wenige) Spalten mit Namen selektierst?

A
Ahrimaan Themenstarter:in
350 Beiträge seit 2010
vor 13 Jahren

Hallo,

wenn ich weniger Selektiere klappt es.
Das Problem ist die Dateien können bis zu 130 Spalten haben und bis zu xxx Zeilen.
Es ist also recht dynamisch das ganze.

Grüße

A
Ahrimaan Themenstarter:in
350 Beiträge seit 2010
vor 13 Jahren

Kann geclosed werden,

durch beschränken der Spalten auf max 256 wurde das Problem erledigt.
Das ist auch die Interne Grenze unserer Excelfiles 😃

Grüße

A
Ahrimaan Themenstarter:in
350 Beiträge seit 2010
vor 13 Jahren

Hallo zusammen,

neues Problem :

Wenn ich mir eine Exceldatei einlese kriege ich nur leere Felder, Formeln werden NICHT gelesen. Bedeutet das, das ich wirklich über das hässliche COM gehen muss ?

Grüße

G
39 Beiträge seit 2008
vor 13 Jahren

Entweder über COM oder über die Office LIB <-- was aber bei unterschiedlichen Versionen ein wenig haarig werden kann...

Ich habs über COM mit Late Binding realisiert, ist zwar etwas aufwendig gewesen, aber mit einer Klasse darumgewrapped is es dann nimmer so schlimm 😃

A
Ahrimaan Themenstarter:in
350 Beiträge seit 2010
vor 13 Jahren

Es gibt ja die möglichkeit über ein Kommandozeilentool eine 2003er Datei zu einer 2007er xlsx. zu machen.
Diese könnte ich ja per XML einlesen
Stehen denn da die Formeln drin ?

Grüße

G
39 Beiträge seit 2008
vor 13 Jahren

Wäre auch eine Möglichkeit, die Formeln befinden sich in den einzelnen sheetN.xml
sind mit <f> getagged.

A
Ahrimaan Themenstarter:in
350 Beiträge seit 2010
vor 13 Jahren

Ok dann nehme ich lieber die Lösung

Dank dir !

grüße