Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    ASP.NET - Impossibile accedere al file - Interop.Excel

    Ciao a tutti,

    come potete aver già visto dal titolo, sono costretto ad usare Interop.Excel per modificare un template xls.

    L'errore che ricevo però alla riga

    xlbook = xlBooks.Open(........);

    è il seguante:

    Impossibile accedere al file "... ...". I motivi possono essere: bla bla bla



    Ora faccio 2 premesse:
    1 - Questo sito è una replica di un altro sito su un altro server, perfettamente funzionante.
    2 - Ho provato con tutte le possibili combinazioni possibili ed immaginabili di utenti/ruoli/administratori sia sul sito che sul pool. L'unico che funziona è l'amministratore del dominio che, per ovvie ragioni, non voglio usare come utente impersonate del sito.

    Dettagli:
    Laciano tutto standard non se ne parla nemmeno.
    Mettendo Impersonate (utente specifino), nemmeno.
    Aggiungendo utente specifino nel pool di applicazioni nemmeno.
    Aggiungendo utente specifino nel "Credenziali percorso fisino" (connetti come del sito), nemmeno.

    Naturalmente l'utente specifico, che sia l'amministratore della macchina, o l'utente costruito apposito (facente parte del gruppo IIS_USERS del dominio) ha i permessi di lettura/scrittura sulla cartella.

    Il codice fa: File.Copy(...) del template nella cartella e xlBooks.Open(........) del file appena copiato.
    Ho notato che il processo EXCEL parte con l'utente giusto, ma non c'è verso di fargli aprire il file.

    Come detto prima l'unico che funziona è Administrator del dominio.

    Che devo ancora fare? dove sbaglio?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539

    Re: ASP.NET - Impossibile accedere al file - Interop.Excel

    Ciao Glauco, premetto che avrei davvero piacere ad aiutarti se posso perchè tu lo fai sempre con tutti, ma ritengo che se non ci sei riuscito da solo il problema sia effettivamente difficilotto. Detto questo, cercherò di fare il possibile...

    un problema simile l'ho avuto anche io, le differenze sono che usavo una macchina virtuale e il tutto era dovuto a problemi di autorizzazione su db (scoperto dopo aver sbattuto la testa innumerevoli volte perchè il db comunque funzionava in altre pagine) e non su interop. Quindi essendo rimasto traumatizzato la prima domanda che ti faccio è :
    c'è una connessione al db nella pagina? se si, togliendo la parte interop e lasciando la connessione (e tutto il resto) funziona?

  3. #3
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Se mi posso permettere di rispondere ho abbandonato l'utilizzo di Interop a causa di una serie di problemi come quello da te enunciato (su un server funziona, su un altro no, etc).

    Ad un certo punto segnalava errori attribuibili al mancato funzionamento dell'oggetto office Microsoft.Office.Interop... sul server dove risiede il framework ed il progetto asp net.

    Ho semplicemente cambiato metodo ed ho iniziato ad usare OpenXML SDK per Microsoft Office:
    http://www.microsoft.com/download/en...s.aspx?id=5124

    Spero ti sia di aiuto.
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  4. #4
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Se entri in windows con l'utenza locale che hai settato nell'AppPOOL ed apri con excell il file ti da problemi?

  5. #5
    ciao ragazzi, grazie per l'interessamento. Vedo di rispondere a tutti

    U235: si, nella pagina c'è una connessione al DB, ma non ci sono problemi con quello. Prima di fare le operazioni su excel, vengono letti e visualizzati dei dati senza problemi, considerando anche che per arrivare a questa pagina faccio login, clicco su menu (caricadi da DB) ecc ecc

    orcim: eeeeee....... MAGARIIIIIII!!!! sarei ultracontento me la facessero usare!!!!!!!

    URANIO: in effetti ho notato una cosa. L'unico modo per far funzionare questa cosa, è partire in debug con visualstudio senza usare IIS ma usando WebDev.WebServer (cassini).
    In questo modo il file viene aperto, modificato, e quindi mandato al client con trasmitfile.
    Succede però che excel si apre e si pianta. Devo Killarlo

  6. #6
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Originariamente inviato da Gluck74
    URANIO: in effetti ho notato una cosa. L'unico modo per far funzionare questa cosa, è partire in debug con visualstudio senza usare IIS ma usando WebDev.WebServer (cassini).
    In questo modo il file viene aperto, modificato, e quindi mandato al client con trasmitfile.
    Succede però che excel si apre e si pianta. Devo Killarlo
    Configura IIS in questo modo:
    AppPOOL utenza locale abilitata, e sul sito togli integrazione windows (non ricordo il nome esatto)

    Se non funziona nemmeno così:
    Prova ad utilizzare Filemon e Regmon della sysinternal e cerca su che file(a registri di sistema) ti da "Access Denied" (la ricerca però spesso è difficile).
    Magari su questo computer excell è stato installato in un modo differente e ci sono alcune parti non accessibili.

  7. #7
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    Ciao, dai un occhiata a questo, non so se ti possa essere utile.


  8. #8
    GRANDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
    Ti ringrazio infinitamente

    Risolto!!!!!!!

    Ma roba da pettinare i peli alle pulci!!!!!!

    Cito da questo post:
    http://stackoverflow.com/questions/7...-timesheet-app



    Try this :

    1.Create directory "C:\Windows\SysWOW64\config\systemprofile\Desk top " (for 64 bit Windows) or "C:\Windows\System32\config\systemprofile\Desk top " (for 32 bit Windows)
    2.Set Full control permissions for directory Desktop (for example in Win7 & IIS 7 & DefaultAppPool set permissions for user "IIS AppPool\DefaultAppPool")

  9. #9
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Di' ai tuoi capi che Interop è un bagno di sangue, ci siamo passati tutti

  10. #10
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    Originariamente inviato da Gluck74
    GRANDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
    Ti ringrazio infinitamente

    Risolto!!!!!!!

    Ma roba da pettinare i peli alle pulci!!!!!!

    Cito da questo post:
    http://stackoverflow.com/questions/7...-timesheet-app



    Try this :

    1.Create directory "C:\Windows\SysWOW64\config\systemprofile\Desk top " (for 64 bit Windows) or "C:\Windows\System32\config\systemprofile\Desk top " (for 32 bit Windows)
    2.Set Full control permissions for directory Desktop (for example in Win7 & IIS 7 & DefaultAppPool set permissions for user "IIS AppPool\DefaultAppPool")
    felicissimo di esserti stato utile. Come minimo la meritavi una mano



    P.S.
    credo che djciko abbia ragione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.