View Full Version : Installazione Interop (PIA)
Andy1984
09-07-2010, 08:59
Ciao a tutti!
Sto realizzando un programmino che deve leggere il contenuto di file excel con visual 2008.
Voglio utilizzare l'Interop della Microsoft per leggere i files excel.
Il problema è che ho scritto il codice e quando lo compilo mi da errori per la libreria Microsoft.Office.Interop.Excel.dll
Ho trovato la procedura di installazione su questo sito:
http://www.dotnethell.it/articles/officexppia.aspx
Ma a quanto pare non va bene.
Se avete esperienza su questo argomento potreste darmi dei consigli sull'installazione?
Grazie in anticipo.
astorcas
09-07-2010, 09:07
Hai installato in GAC gli assembly con gacutil?
Li hai aggiunti come reference al progetto?
Andy1984
09-07-2010, 09:28
Hai installato in GAC gli assembly con gacutil?
Li hai aggiunti come reference al progetto?
No potresti dirmi come si fa?
astorcas
09-07-2010, 09:32
da linea di comando scrivi:
gacutil /i <percorso assembly>
poi da visual studio clicchi col destro sul progetto e fai add reference-> nel tab .NET scegli quello che hai appena installato
Andy1984
09-07-2010, 09:46
da linea di comando scrivi:
gacutil /i <percorso assembly>
poi da visual studio clicchi col destro sul progetto e fai add reference-> nel tab .NET scegli quello che hai appena installato
Ok ora ci provo... nel frattempo potresti consigliarmi un manuale di visual 2008 da acquistare?
astorcas
09-07-2010, 09:54
Ok ora ci provo... nel frattempo potresti consigliarmi un manuale di visual 2008 da acquistare?
secondo me msdn basta e avanza :)
Andy1984
09-07-2010, 10:19
secondo me msdn basta e avanza :)
Si ma era per avere un manuale di riferimento cartaceo visto che molti comandi ancora non li conosco.
tomminno
09-07-2010, 11:02
Hai installato in GAC gli assembly con gacutil?
Li hai aggiunti come reference al progetto?
Ma non fa prima ad usare la cartella c:\Windows\Assembly e a copiarci dentro i file che gli servono?
Perdersi nei meandri di gacutil mi sa che gli possa creare solo confusione.
astorcas
09-07-2010, 11:11
Ma non fa prima ad usare la cartella c:\Windows\Assembly e a copiarci dentro i file che gli servono?
Perdersi nei meandri di gacutil mi sa che gli possa creare solo confusione.
Si certo, ma ho cercato di mantenermi il linea con la guida che ha postato, Vabbé ora sa che gacutil /i = "copia in %windir%/Assembly" (all'incirca :fagiano:)
Andy1984
09-07-2010, 11:24
Ma non fa prima ad usare la cartella c:\Windows\Assembly e a copiarci dentro i file che gli servono?
Perdersi nei meandri di gacutil mi sa che gli possa creare solo confusione.
Scusa tomminno ma quindi potrei anche solamente prendere le dll dell'interop e copiarle dentro la cartella? Così brutalmente?
tomminno
09-07-2010, 11:30
Scusa tomminno ma quindi potrei anche solamente prendere le dll dell'interop e copiarle dentro la cartella? Così brutalmente?
Si. E poi anche cancellarle, come se fosse una normale cartella (anche se explorer la visualizza in modo particolare).
Occhio a non cancellare assembly diversi dai tuoi.
Andy1984
09-07-2010, 12:10
Si. E poi anche cancellarle, come se fosse una normale cartella (anche se explorer la visualizza in modo particolare).
Occhio a non cancellare assembly diversi dai tuoi.
Ok ho fatto grazie mille!!!
A buon rendere!:)
Andy1984
09-07-2010, 12:12
Ok ho fatto grazie mille!!!
A buon rendere!:)
Ma adesso devo aggiungere le reference al progetto?
astorcas
09-07-2010, 12:13
Ma adesso devo aggiungere le reference al progetto?
yes
Andy1984
09-07-2010, 14:14
yes
Certo che è un po un casino utilizzando l'interop... Ma per voi in termini di stabilità è affidabile?
altrimenti potreste darmi qualche suggerimento per affrontare il problema?
Devo leggere il contenuto di un file excel e confrontarlo con il contenuto di un file di testo. Come potrei fare?:confused:
astorcas
09-07-2010, 14:20
Certo che è un po un casino utilizzando l'interop... Ma per voi in termini di stabilità è affidabile?
altrimenti potreste darmi qualche suggerimento per affrontare il problema?
Devo leggere il contenuto di un file excel e confrontarlo con il contenuto di un file di testo. Come potrei fare?:confused:
La procedura che stai utilizzando non va fatta solo per utilizzare interop. Ogni qual volta hai bisogno di una libreria devi referenziarla nel progetto e questa deve essere di norma o nella cartella del tuo eseguibile o nella GAC. Che difficoltà stai incontrando?
Andy1984
09-07-2010, 14:32
La procedura che stai utilizzando non va fatta solo per utilizzare interop. Ogni qual volta hai bisogno di una libreria devi referenziarla nel progetto e questa deve essere di norma o nella cartella del tuo eseguibile o nella GAC. Che difficoltà stai incontrando?
Si il problema dell'installazione dell'Interop l'ho risolto ora ci sono le librerie nel progetto.
La difficoltà la sto incontrando nel scrivere il codice per leggere il contenuto del file excel.
La mia idea è quella di realizzare un form con varie finestre. Nella prima è presente lo spazio ed i pulsanti per aprire i file di input (in questo caso il file .xls ed il file .txt).
La seconda finestra è quella che fa il confronto tra i dati letti nel file excel e quelli letti nel file .txt. Il confronto viene fatto in una dataGridView.
Ad esempio quando si clicca il pulsante "Check" allora parte il confronto tra i due files.
Non so se possa andare bene in questo modo.
Quello che so è che con l'Interop posso andare a leggere il contenuto delle celle indicando semplicemente le coordinate nel codice.
Te come la imposteresti la soluzione al problema?
Grazie per la disponibilità e per le risposte celeri.
astorcas
09-07-2010, 14:43
Si il problema dell'installazione dell'Interop l'ho risolto ora ci sono le librerie nel progetto.
La difficoltà la sto incontrando nel scrivere il codice per leggere il contenuto del file excel.
La mia idea è quella di realizzare un form con varie finestre. Nella prima è presente lo spazio ed i pulsanti per aprire i file di input (in questo caso il file .xls ed il file .txt).
La seconda finestra è quella che fa il confronto tra i dati letti nel file excel e quelli letti nel file .txt. Il confronto viene fatto in una dataGridView.
Ad esempio quando si clicca il pulsante "Check" allora parte il confronto tra i due files.
Non so se possa andare bene in questo modo.
Quello che so è che con l'Interop posso andare a leggere il contenuto delle celle indicando semplicemente le coordinate nel codice.
Te come la imposteresti la soluzione al problema?
Grazie per la disponibilità e per le risposte celeri.
Direi che come idea va bene :)
Ed è anche fattibile. Per selezionare le celle nel codice se non ricordo male c'è un oggetto apposito, che si chiama Range. Cmq gli oggetti di cui hai bisogno sono essenzialmente questi elencati qua (http://msdn.microsoft.com/it-it/library/wss56bz7(v=VS.80).aspx)
Andy1984
13-07-2010, 06:48
Grazie Astorcas e Tommino!
Volevo chiedervi se sapevate come si crea una toolStripProgressBar. Ho cercato su msdn come mi hai detto te astorcas ma c'è scritto solo gli elementi che servono per realizzarla.
Grazie come sempre!:)
Andy1984
13-07-2010, 10:53
Ho risolto grazie!
Andy1984
16-07-2010, 14:13
Astorcas potresti dare uno sguardo a questa discussione?
http://www.hwupgrade.it/forum/showthread.php?t=2221495
Che ne pensi?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.