Excel verarbeiten mit vb.net

kerstel

Erfahrenes Mitglied
P { MARGIN: 0px } .inlineimg { VERTICAL-ALIGN: middle } Hallo,

ich will eine Excel Datei mit vb.net verarbeiten, was auch ganz gut klappt:

Code:
 Dim DS As System.Data.DataSet
 Dim mComm As  System.Data.OleDb.OleDbDataAdapter
 Dim mConn As  System.Data.OleDb.OleDbConnection
 Dim sSql As String =  "select * from  ["Adressen$]"
  
 mConn = New  System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data  Source=D:\data.xls;Extended Properties=Excel 8.0;")
 mComm = New System.Data.OleDb.OleDbDataAdapter(sSql,  mConn)
 DS = New System.Data.DataSet

Ich bekomm nur bei der Datei (77MB) folgende Meldung in der IDE:

Die CLR konnte 60 Sekunden lang keinen Übergang vom COM-Kontext 0x1a1288 zum COM-Kontext 0x1a13f8 durchführen. Der Thread, der Besitzer des Zielkontexts/-apartments ist, wartet entweder, ohne Meldungen zu verschieben, oder verarbeitet eine äußerst lang dauernde Operation, ohne Windows-Meldungen zu verschieben. Eine solche Situation beeinträchtigt in der Regel die Leistung und kann sogar dazu führen, dass die Anwendung nicht mehr reagiert oder die Speicherauslastung immer weiter zunimmt. Zur Vermeidung dieses Problems sollten alle STA-Threads (Singlethread-Apartment) primitive Typen verwenden, die beim Warten Meldungen verschieben (z.B. CoWaitForMultipleHandles), und bei lange dauernden Operationen generell Meldungen verschieben.

Was kann ich da tun?

Viele Grüße
Kerstel
 
Hi

Wo genau kommt denn der Fehler?
Und kann es sein, dass die Meldung nur im Debugger kommt oder kommt die Meldung auch, wenn deine Anwendung außerhalb des Debuggers läuft.
 
Tach,

ja kommt nur in der IDE, also vom Debugger. Ich weiß aber nicht wie es auf anderen Systemen aussehen würde.

Viele Grüße
Kerstel
 
mal ne zwischenfrage.

kann man eine exceldatei in eine ArrayList einlesen? Hab das mal mit ner CSV gemacht, aber keinen Schimmer wie das bei Excel geht.
 
hätte ich spätestens wenn ich eine Lösung hätte.

Und in mehreren Foren darf ich doch Posten oder? Nur weil du sagst "Wenn Du schon..."

Und zudem war das jetzt ein Doppelposting :-)
 
Zurück