3 messaggi dal 20 febbraio 2018
Buongiorno a tutti,
Intanto grazie per le numerose soluzioni che ho trovato negli ultimi mesi di sviluppo su questo forum.

È la volta di chiedere direttamente un suggerimento...
sto sviluppando una web application in C# che gestisce, tra le varie funzionalità, la generazione di file Excel da dati contenuti a database. Per gestire il servizio ho seguito le istruzioni Microsoft per accedere agli oggetti di interoperabilità di Office:
- aggiunta del riferimento ad Office nella soluzione in Visual Studio
- gestione tramite direttiva using Excel = Microsoft.Office.Interop.Excel;

Tutto bene fin qui, pagina e oggetti per generazione e download del file generato funzionano correttamente.
Nell’utilizzare gli stessi strumenti in un’altra pagina pagina, invece, ottengo come errore sulla keyword Office nella direttiva using “il tipo o il nome dello spazio dei nomi ‘Office’ non esiste nello spazio dei nomi ‘Microsoft’. Probabilmente manca un riferimento all’assembly“. Nonostante le mie ricerche non riesco a capire il motivo per cui lo stesso codice porta a due comportamenti diversi.
Avreste qualche suggerimento per aiutarmi ad individuarne il motivo?

Ringrazio anticipatamente
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao e bentrovato!

Le due pagine si trovano nella stessa applicazione o in applicazioni diverse?
Se si trovano nella stessa applicazione, effettivamente è un po' strano che una funzioni e l'altra no.
Comunque, anche a me sembra di aver incontrato lo stesso problema. Se non ricordo male, in quella situazione mi sono preso la dll di office e l'ho messa nella cartella bin dell'applicazione. A quel punto ha funzionato. La dll si trova nella GAC, nel mio caso è qui:
C:\Windows\assembly\GAC_MSIL\office\15.0.0.0__71e9bce111e9429c


La dll di interop invece la puoi ottenere come pacchetto NuGet.
https://www.nuget.org/packages/Microsoft.Office.Interop.Excel/

A parte tutto, Microsoft non consiglia di usare Office lato server. Semplicemente non è nato per questo scopo.
Leggi qui, particolare il paragrafo "Problems using server-side Automation of Office":
https://support.microsoft.com/en-us/help/257757/considerations-for-server-side-automation-of-office

Per la generazione dei file Excel, io ti consiglio di usare la libreria NPOI, che altri utenti del forum hanno già usato in passato, come puoi leggere da questa discussione.
http://forum.aspitalia.com/forum/post/409182/Libreria-NPOI.aspx

Ti dà un bel vantaggio perché è più efficiente e non devi installare Office nel server.

ciao,
Moreno
Modificato da BrightSoul il 14 giugno 2018 21.00 -

Enjoy learning and just keep making
3 messaggi dal 20 febbraio 2018
Ciao,
per completezza: ho risolto implementando le funzionalità di scrittura ed elaborazione di file excel utilizzando il pacchetto NuGet di EPPlus.

http://www.riptutorial.com/epplus/topic/8070/getting-started-with-epplus


Grazie comunque per il suggerimento.

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.