Comment corriger "Microsoft Excel ne peut pas ouvrir ou enregistrer d'autres documents"

Je cours C# ASP.NET 4.5 application web sur Windows 7 64-bit en utilisant IIS 7.5. Le pool d'applications qu'il utilise a le nom "ASP.NET v4.0' et son identité est L'Identitépolaire D'application. L'application utilise MS Office Interop (Microsoft Excel 14.0 Object Library).

À la ligne wBook = wBooks.Add(Missing.Value);, il génère l'erreur suivante:

Microsoft Excel ne peut pas ouvrir ou enregistrer d'autres documents car il n'est pas assez de mémoire disponible ou d'espace disque.

u2022 pour rendre plus de mémoire disponible, fermez les classeurs ou les programmes que vous n'avez plus besoin.

u2022 pour libérer de l'espace disque, supprimez les fichiers dont vous n'avez plus besoin disque que vous enregistrez.: Microsoft.Bureau.Interop.Excel.Classeur.Ajouter(Modèle D'Objet)

1) j'ai donné le compte IIS apppoolASP.NET v4.0 contrôle total sur L'Application MS Excel dans la Configuration DCOM.

2) j'ai donné IIS apppoolASP.NET v4.0 contrôle total "C:WindowsSysWOW64configsystemprofile' et a créé un dossier de bureau dedans.

3) je dois continuer à utiliser Interop mais ce n'est pas recommandé.

4) L'application fonctionne très bien sur Windows Server 2003/Windows XP 32-bit.

5) MS Office 2010 (64 bits, version d'essai) est installé sur la machine.

6) je préférerais ne pas changer l'application. l'identité du pool, de L'Identitépolaire de L'application au Service réseau, etc.. ApplicationPoolIdentity est l' nouveau type D'identité dans IIS 7 et il est recommandé.

cela fonctionne très bien si je sélectionne 'Interactive User' (je me suis connecté en tant qu'administrateur) dans la Configuration DCOM, mais cela cause d'autres problèmes. Je dois utiliser "Lancer L'utilisateur" qui est ASP.NET v4.0. Donc, on dirait que c'est un problème d'autorisation.

s'il vous Plaît aider. Remercier.

18
demandé sur Nima Derakhshanjan 2012-09-14 02:29:30

4 réponses

clic Droit sur le fichier avec l'explorateur de fichiers, sélectionnez Properties, puis General onglet et cliquez sur le Unblock bouton. Ce message d'erreur est très trompeur.

35
répondu Tony_Henrich 2013-11-15 06:59:21

allez à cette clé sur L'Éditeur du registre (Run | Regedit) HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

touche Cache à quelque chose comme C:\Windows\Temp

Mon problème similaire a été résolu comme ça.

Cordialement,

Ripley

14
répondu Ripley 2013-04-22 22:08:41

j'ai eu ce même problème, il n'y avait pas de problème de mémoire dans ma machine serveur, finalement j'ai pu le corriger en suivant les étapes

  1. dans votre serveur d'hébergement d'applications, allez à ses "Component Services"
  2. enter image description here

3.Trouvez "Microsoft Excel Application" sur le côté droit.

4.Ouvrez ses propriétés par clic droit

5.Sous l'onglet Identité, sélectionnez l'option utilisateur interactif et cliquez sur Ok. bouton.

Vérifier encore une fois. Espérons que cela aide

NOTE: mais maintenant vous pouvez vous retrouver avec une autre erreur de communication "récupérant l'usine de classe COM pour component...". Dans ce cas, il suffit de définir L'identité de cet utilisateur et d'entrer le nom d'utilisateur et le mot de passe d'un utilisateur qui dispose de droits suffisants. Dans mon cas, j'ai entré un utilisateur de power user group.

5
répondu Nithin Paul 2015-03-27 05:06:42

Test comme ceci.Parfois, le problème d'autorisation.

cmd => dcomcnfg

Cliquez sur

services de Composants >Calcule >poste de travail>Dcom config> et sélectionnez doux micro Application Excel

clic droit sur l'Application Microsoft Excel

Propriétés>Donner Asp.net Permissions

Sélectionner l'Identité de la table >Sélectionnez l'utilisateur interactif >sélectionnez ok

4
répondu Boopathi.Indotnet 2018-01-18 08:27:58