Classi Workbook e Worksheet

martedì 28 ottobre 2008 - 18.27

Sig. Travis Profilo | Junior Member

Ciao Ragazzi, ho scritto un'utility che legge un foglio excel, sviluppa una serie di query e prevede di salvare i risultati su un foglio excel. Utilizzo un datagrid per visualizzare i dati ed un dataadapter ed un datatable per portare i dati letti sul datagrid.

Ho scaricato ed installato come da indicazioni i PIA per poter operare al salvataggio dei dati su un foglio Excel. Intanto pur avendo aggiunto ai reference di progetto la classe Microsoft.Office.Interop.Excel, non riesco a referenziarla, poi purtroppo non riesco ad accedere alle classi Workbook e Worksheet che dovrebbero appartenere alla Classe Microsoft.Office.Tools.Excel.

Cosa devo fare ulteriormente per avere a disposizione queste classi che mi consentirebbero di proseguire con la stesura del codice per ottenere il risultato di salvare dei dati su foglio Excel?

Grazie infinite,


Ciao\G

alexmed Profilo | Guru

Ciao

In questi giorni ho dato un'occhiata anch'io a come interagire con Excel da VB ed ho sviluppato questo codice seguendo le indicazioni fornite per GetObject nella Guida in linea

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Ha due aspetti interessanti:
La prima è che qualsiasi versione tu abbia di Excel (almeno io l'ho testata su su 97 e su 2007) dovrebbe funzionare
La seconda è che puoi registrarti le macro su Excel e ad ogni istruzione basta aggiungergli "excelObj.Application."

Naturalmente non l'ho potuta testare in tutto e per tutto, quindi lascio a te il compito di farlo per ciò che ti riguarda.

Un'altra cosa che ho notato è che nonostante queste due righe alla fine

excelObj.Application.Quit()
excelObj = Nothing

Se osservi da Task Manager --> Processi: noterai che EXCEL.EXE non se ne và fino a quando non termini l'applicazione

Spero ti possa aiutare
Ciao

alexmed Profilo | Guru

Scusa dimenticavo
Un'altro aspetto interessante è che non devi fare riferimento a niente.

Quindi via Microsoft.Office.Tools.Excel oppure Excel.Application X.0

Ciao

Sig. Travis Profilo | Junior Member

Informazione:

per chiudere l'applicazione, prima di eseguire il comando "Quit", devi impostare a False la proprietà "UserControl" dell'applicazione.


Grazie per l'aiuto,
Ciao\G

Sig. Travis Profilo | Junior Member

Ciao, scusa ancora se disturbo:

programmo in COBOL Fujitsu for .NET, non so se ne hai sentito parlare, comunque tutto il discorso dell'utilizzo degli interop evidentemente è insufficiente perchè non mi consente di utilizzarli in maniera semplice come in VB.

Sulla base del codice che mi hai mandato, scriverò una classe VB che dovrà avere come parametri di input un datatable e un Return Code per la cattura di eventuali errori; non sono pratico per niente di VB(dovrò allora cominciare) quindi mi servirebbe una mano per la gestione del passaggio dei parametri ed in particolare la dichiarazione del datatable(il Return code penso sia un integer) nella classe VB con il suo conseguente utilizzo.

Scusa e grazie ancora se risponderai.......
Ciao\G
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5