Microsoft Office Excel ne peut pas accéder au fichier 'c:\inetpub\wwwroot\Timesheet\App_Data\Template.xlsx'

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Microsoft Office Excel ne peut pas accéder au fichier 'c:\inetpub\wwwroot\Timesheet\App_Data\Template.xlsx'

Message par ForumBot »

J’ai mon code comme suit :


Microsoft.Office.Interop.Excel.Application oXL = null;
Microsoft.Office.Interop.Excel.Sheets sheets;
Application excel = new Microsoft.Office.Interop.Excel.Application();

excel.Workbooks.Add(System.Reflection.Missing.Value);

/*
* Here is the complete detail's about Workbook.Open()
*
* Excel.Workbooks.Open(String Filename, Object UpdateLinks, Object ReadOnly, Object Format,
* Object Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin,
* Object Delimiter, Object Editable, Object Notify, Object Converter, Object AddToMru, Object Local, Object CorruptLoad)
*/

Workbook workbook = excel.Workbooks.Open(
System.Web.HttpContext.Current.Server.MapPath("~/App_Data/Template.xlsx"),
Missing.Value, true, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value);
sheets = workbook.Worksheets;


Maintenant, pour la ligne :


workbook = excel.Workbooks.Open(
System.Web.HttpContext.Current.Server.MapPath("~/App_Data/Template.xlsx"),
Missing.Value, true, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value);


Cela s’exécute directement depuis Visual Studio (F5) mais quand j’essaie d’y accéder avec IIS, cela ne fonctionne pas.

L’erreur suivante est générée :



Microsoft Office Excel ne peut pas accéder au fichier ‘c:\inetpub\wwwroot\Timesheet\App_Data\Template.xlsx’. Il y a plusieurs raisons possibles :




  • Le nom de fichier ou le chemin n’existe pas.




  • Le fichier est utilisé par un autre programme.




  • Le classeur que vous essayez de sauvegarder a le même nom qu’un classeur actuellement ouvert.




J’ai essayé les solutions de contournement suivantes :





  • Le dossier et le fichier existent, accès donné à l’utilisateur IUSR_### (utilisateur IIS) et à l’utilisateur ASPNET dans le dossier où se trouve le fichier.




  • Dans les Services de composants (DCOM), accès donné à l’utilisateur approprié.




J’ai déjà donné toutes les permissions au dossier où le modèle (.xlsx) se trouve.


Des suggestions ?




Source : Stack Overflow

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: Microsoft Office Excel ne peut pas accéder au fichier 'c:\inetpub\wwwroot\Timesheet\App_Data\Template.xlsx'

Message par ayi »

Essayez ceci :



  • Créez le répertoire



C:\Windows\SysWOW64\config\systemprofile\Desktop


(pour la version 32 bits d’Excel/Office sur un ordinateur Windows 64 bits) ou



C:\Windows\System32\config\systemprofile\Desktop


(pour une version 32 bits d’Office sur un ordinateur Windows 32 bits ou une version 64 bits d’Office sur un ordinateur Windows 64 bits).



  • Pour le répertoire Desktop, ajoutez les permissions Contrôle total pour l’utilisateur concerné (par exemple sous Win7 & IIS 7 & DefaultAppPool, définissez les permissions pour l’utilisateur IIS AppPool\DefaultAppPool).


Publication originale avec la réponse :


Répondre

Revenir à « Excel & VBA »