Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Leggere un foglio Excel da V.B .NET
mercoledì 19 ottobre 2005 - 12.41
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
byvincent
Profilo
| Newbie
4
messaggi | Data Invio:
mer 19 ott 2005 - 12:41
Salve a tutti, ho l'esigenza di fare delle query in un foglio Excel del tipo:
LISTINO PREZZI AGGIORNATO AL 26/09/05
codice descrizione prodotto prezzo c.iva
1040 ADELSCOTT 0.33X24 30,00 20
per ottenere le 4 informazioni sugli articoli.
Il codice che allego funziona bene, il file lo scelgo in un OpenFileDialog ma ottengo un errore:
Cast from type 'DBNULL' to 'String' is not valid.
Le celle nel foglio sono formattate come Generale e Numeri.
Mi chiedo inoltre come si fa a prendere solo le celle di interesse, ovvero quelle non vuote sottostanti le intestazioni delle colonne, nella query ho specificato solo il foglio, che apparentemente viene visto come un'unica grande tabella di 65536 righe e e IV colonne!!!
Sò che è possibile specificare una zona ma il foglio Excel viene fornito al cliente che vuole il sw da una ditta già preformattato e il cliente non sa nulla di Excel.
Grazie
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 19 ott 2005 - 14:35
Ciao,
io non utilizzerei un approccio di questo tipo, lo trovo più scomodo che accedere direttamente al foglio di Excel avendo pieno controllo di celle e colonne tramite l'Object Model di Excel stesso.
Ne ho parlato diffusamente in un articolo:
http://www.dotnethell.it/articles/ExportExcelDataset.aspx
che riguarda l'esportazione di dati. Ma con le stesse tecniche puoi aprire il tuo File di Excel ed eseguire le elborazioni di cui necessiti senza verificare errori tipo quelli che hai segnalato.
In questo modo puoi facilmente prendere le colonne e le celle che desideri. Cosa un po' più difficile con una query SQL su un foglio non correttamente strutturato.
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
spyto
Profilo
| Newbie
49
messaggi | Data Invio:
ven 21 ott 2005 - 12:35
Per leggere un file Excel io uso questo codice, metto tutto su DS e poi vado a selezionare le parti che mi interessano.
Dim Percorso As String = "D:\DDownload\ExcelProva.xls"
Dim DS As New DataSet
Try
Dim con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Percorso & ";" & _
"Extended Properties=Excel 8.0")
con.Open()
Dim cmd As New OleDb.OleDbDataAdapter("SELECT * FROM [foglio1$]", con)
DS = New DataSet
cmd.Fill(DS, "tabella")
Griglia.DataSource = DS
Griglia.DataMember = "Tabella"
con.Close()
Torna su
Stanze Forum
Elenco Threads
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 !