UTILIZZO DI EXCEL IN ASP.NET

venerdì 16 luglio 2010 - 12.19

gigi90 Profilo | Senior Member

Salve a tutti sto utilizzando Excel in una mia applicazione ASP.Net il problema e che in fase di debug sulla mia macchina l'applicazione il tutto funziona correttamente, mentre invece quando la lancio in pubblicazione su un server IIS 6 su Windows Server 2003 al momento del primo utilizzo della procedura Excel mi viene dato il seguente errore:

Memoria o spazio su disco insufficiente. Impossibile aprire o salvare ulteriori documenti.
• Per aumentare la memoria disponibile, chiudere le cartelle di lavoro o i programmi non necessari.
• Per rendere disponibile spazio su disco eliminare i file non necessari.

Il codice che utillizo è molto semplice:

Dim xlApp As New Excel.Application() xlApp.Workbooks.Add() xlApp.ActiveWorkbook.Worksheets(1).Activate() xlApp.Visible = False xlApp.Cells(1, 1) = "Num.Posizione" xlApp.Cells(1, 2) = "Valutazione" xlApp.ActiveWorkbook.SaveAs(nomeFileExcel, Excel.XlFileFormat.xlExcel8) xlApp.Quit()


Ho dato tutti i permessi necessari per gli utenti IIS_WPG e IUSR alle api COM excel tramite l'utility dcomcnfg.exe(visto che al primo avvio dava problemi)

Aspettando una vostra risposta...saluti a tutti.

Gluck74 Profilo | Guru

l'errore avviene a questa riga??

xlApp.ActiveWorkbook.SaveAs(nomeFileExcel, Excel.XlFileFormat.xlExcel8)

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

gigi90 Profilo | Senior Member

Si avvieniva in quella riga

Ho risolto comunque: il problema era dovuto ad un problema nei permessi di esecuzione di Excel sotto IIS in pratica il componente viene richiamato da ASP.NET con permesse limitati rispetto all'esecuzione normale come utente Administrator quindi ho risolto con i seguenti passaggi:

-Digitare dcomcnfg.exe e quindi fare clic su OK
-Scegliere COMUPUTER->Risorse del computer->Config DCOM
-Individuare Microsoft Excel Application
-Tasto DX->Proprietà quindi scheda Protezione
-Impostare tutte a Personalizzato e cliccare sul Pulsante Modifica per aggiungere gli Utenti IIS_WPG e IUSR_NOMECOMPUTER con controllo completo
-Andare poi nella scheda Identità Scegliere l'opzione Utente Seguente e digitare Username e Password dell'utente Administrator

Spero che queste dritte possano servire in futuro per chiunque si trovasse di fronte a questo problema.

Grazie comunque per l'interessamento...saluti.

Gluck74 Profilo | Guru


>-Andare poi nella scheda Identità Scegliere l'opzione Utente
>Seguente e digitare Username e Password dell'utente Administrator

Questo passaggio non mi piace molto. Piuttosto che l'identità amministratore, potresti usarne una con meno privilegi. L'importante è che abbia quelli gisuti, ovvero esecuzione del processo (che hai messo a posto con i passaggi prima), e permessi di scrittura sulla cartella dove vuoi salvare i file Excel.

Appunto la riga segnalata cerca di salvare il file, magari dove non potevi

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

gigi90 Profilo | Senior Member

Eh si...hai ragione...per la risoluzione non ho dato peso al problema sicurezza però effettivemente sarebbe meglio configurare i permessi ad hoc ;)
P.S.: Il percorso nel quale scrivevo era una sottodirectory del mio sito.

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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5