[VB.NET] Problema rilascio instana excel con backgroungworker..

venerdì 20 maggio 2011 - 13.49
Tag Elenco Tags  VB.NET  |  .NET 3.5  |  Windows XP  |  Visual Studio 2008  |  SQL Server 2005  |  Office 2003

jackk87 Profilo | Junior Member

Buongiorno a tutti,
dalla mia applicazione vb devo importare i dati di un file excel che contiene i comuni quindi circa 10000 record di seguito c'è il codice che uso:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

L'importazione la eseguo tramite il backgroundworker in modo che l'applicazione non si blocchi. L'importazione funziona correttamente solo che al termine della stessa mi rimane il processo di excel in memoria (task manager) e non viene rilasciato.

Spero che qualcuno mi aiuti

grazie in anticipo a tutti

Cteniza Profilo | Guru

Da quanto ho visto NON hai bisogno di aprire excel con l'automazione, di solito questa si fa se vuoi "lavorare" nel foglio.
Tu invece se non vado errato hai bisogno solo di leggere i dati contenuti.
Apri il foglio come database utilizzando oledb.
"Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=NO';Data Source=c:\myexcel.xls"

jackk87 Profilo | Junior Member

Ciao, ho provato con oledb ma ho lo stesso identico problema cioè mi rimane il processo di excel aperto.
La procedura che utilizzo è la seguente:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Cteniza Profilo | Guru

Se usi excel come database NON devi aprire excel application nè istanziare excel, nè includere office tra i riferimenti

jackk87 Profilo | Junior Member

Risolto, c'era ancora un'istruzione che apriva l'applicazione. Con oledb tutto ok grazie

jackk87 Profilo | Junior Member

Ciao scusami c'è un modo per fare la query senza specificare il nome del primo foglio ma direttamente il foglio 1?cioè mi spiego meglio ho un file excel dove il primo foglio si chiama pippo.
Effettuo la query con SELECT nome,cognome FROM pippo.
Così funziona tutto perfettamente però se io rinomino il foglio in ciccio e faccio la query SELECT nome,cognome FROM ciccio, ricevo un errore che non trova il foglio ciccio ma nonostante l'ho rinominato in ciccio funziona sempre con pippo non ho capito il perchè ma è stranissimo.
Per questo cerco se c'è un modo di prendere i dati dal primo foglio senza specificare il nome ho provato con SELECT nome,cognome FROM [Foglio1$] ma non funziona.

grazie in anticipo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5