18 messaggi dal 05 settembre 2006
Ciao,
volevo un consiglio su quanto è performante utilizzare il componente di excel Microsoft Excel 10.0 Object Library, da codice asp.net e vb.net .net framework 1.1 da un sito web.
Devo effettuare delle formattazioni di un foglio, effettuare calcoli, inserire formule,etc il tutto da codice vb.net.
E' consigliabile o è meglio utilizzare il codice VBA di excel?
Grazie a chiunque mi darà un consiglio.
M
501 messaggi dal 09 giugno 2006
Contributi
Ciao.

Dipende, con VBA non puoi effettuare le stesse cose che fai usando l'oggetto COM da una pagina ASP.NET/ASP. Il fatto che tu possa scegliere se scrivere una macro VBA oppure usare ASP.NET/ASP mi incuriosisce: qual'è il fine ultimo del tuo lavoro.

Credo che il problema maggiore che dovrai prendere in considerazione riguarda il licenziamento del prodotto (il server Web deve possedere una licenza valida di Microsoft Excel) e la sicurezza (non ricordo benissimo ma credo che il processo di Excel istanziato dalla libreria COM richieda, in IIS, l'autorizzazione ad eseguire processi out-of-process).

Se magari posti qualche dettaglio sulla tua applicazione finale potrò fornirti qualche lume in più.

Ciao.

.:. Marcello Rutter .:.
18 messaggi dal 05 settembre 2006
Ciao.
Riprendo questo vecchio topic ringraziandoti mrdev...sei sempre molto preciso e competente.
Si tratta di una applicazione web che crea dei file csv su una directory (opportunamente creata per ogni utente).
Ho creato un file xls con dentro una macro che importa il contenuto di un file csv che ne trasforma l'output aggregando i dati,totali, etc.
Il tutto però deve funzionare da un sito con tutti i problemi di dowload del file con la macro, abilitazione delle macro, che ne derivano.
Per evitare questi problemi e far scaricare all'utente direttamente il file xls già trasformato volevo fare tutto da codice del sito.
Mi chiedevo se con asp.net (quindi utilizzando excel nelle referenze del progetto) posso raggiungere lo stesso risultato del codice vba di excel (ha le stessa potenzialità?)
Le conseguenze di carattere sistemistico della scelta di sviluppare tutto in asp.net mi preoccupano un pò!Sopratutto considerando il fatto che dovrà essere pubblicato tutto su un server la cui gestione nn dipende da me.
Grazia ancora.
F
501 messaggi dal 09 giugno 2006
Contributi
Ciao.

Parto dalla fine:
dovrà essere pubblicato tutto su un server la cui gestione nn dipende da me.


Questa è la vera seccatura perchè quando hai a che fare con ASP.NET e documenti di Office elaborati lato server potresti avere la necessità di intervenire su alcuni parametri di sistema (diritti a livello di utente, configurazione di IIS e di .NET).

Comunque sia, un passo alla volta.

.NET è un ambiente molto potente difficilmente paragonabile a VBA e se devi fare qualcosa per il web non puoi che optare per questa piattaforma. Il problema, nel tuo caso, è dovuto al fatto che tu utilizzi il codice VBA per eseguire elaborazioni all'interno dei documenti di Excel (documenti che magari contengono anche formule, ecc.).

Per questo tipo di problemi potresti impiegare Visual Studio 2005 e Visual Studio 2005 Tools for Office. Se te la cavi con l'inglese (forse trovi anche le traduzioni in italiano) prima di procedere con il tuo lavoro ti suggerisco di dare un'occhiata a questi link che dovrebbero fare al caso tuo:

http://msdn2.microsoft.com/en-us/office/aa905543.aspx
http://msdn2.microsoft.com/en-us/library/aa830702.aspx

Da qui si può provare a riprendere il discorso.

Ciao.

.:. Marcello Rutter .:.
18 messaggi dal 05 settembre 2006
Ciao.
Purtroppo nn ho a disposizione questi nuovi tools.
Devo trovare una soluzione alternativa.
Grazie
F
Modificato da FirstIT il 30 gennaio 2007 12.29 -
501 messaggi dal 09 giugno 2006
Contributi
Ciao.

Preciso che Visual Studio 2005 Tools for Office può essere scaricato dal centro download di Microsoft: non devi acquistarlo. Chiaramente hai bisogno di Visual Studio 2005 (non so se funzioni anche con le versioni Express Edition ... magari mi informo e ti so dire).

Per altre soluzioni ce ne sono certamente: si va da componenti commerciali di terze parti (es. http://www.fpoint.com) a componenti di wrapping open (se cerchi su google trovi diversi oggetti .NET che aiutano a manipolare i documenti di Excel in diversi modi e per deiverse finalità) all'uso del provider OLEDB per Excel (in pratica puoi accedere ad un foglio Excel organizzato come una tabella usando l'oggetto OleDbConnection e specificando l'opportuna connection string - da qui puoi utilizzare il foglio esattamente come se fosse una normale tabelle di un database).

Come ti scrivevo qualche post fa, per capire quale sia la soluzione migliore e se e come convertire il tuo lavoro verso .NET e ASP.NET sarebbe il caso di avere precisi dettagli e ... un po' di pazienza.

Buon lavoro.

.:. Marcello Rutter .:.
18 messaggi dal 05 settembre 2006
Ecco i Requisiti software che mi interessano
o .NET Framework v2.0: prima di installare VSTO 2005 SE Redistributable Package, è necessario installare anche Microsoft .NET Framework v2.0 Redistributable Package.
(quindi nn Visual Studio 2005...ma solo il framework 2.0 che coesiste con l'1.1)
o Versione di Microsoft Office: Per lo sviluppo e l'esecuzione delle personalizzazioni di Office generate con VSTO 2005 o VSTO 2005 SE, è necessario disporre almeno di una delle seguenti versioni di Microsoft Office
• Microsoft Office Professional Edition 2003
• Microsoft Office Standard Edition 2003 (solo i componenti aggiuntivi a livello di applicazione sono compatibili con la versione Standard Edition)
Ci provo!...con un pò di pazienza
Grazie mrdev!
F

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.