Comment corriger " Microsoft Excel ne peut pas ouvrir ou enregistrer davantage de documents
Je suis en cours d'exécution C# ASP.NET 4.5 application web sur Windows 7 64 bits à l'aide de IIS 7.5. Le pool d'applications qu'il utilise a le nom de " ASP.NET v4.0' et de son identité est ApplicationPoolIdentity. L'application utilise MS Office Interop (Microsoft Excel 14.0 Bibliothèque d'Objets).
À la ligne wBook = wBooks.Add(Missing.Value);
, il génère l'erreur suivante:
Microsoft Excel ne peut pas ouvrir ou enregistrer davantage de documents, car il n'
n'est pas de suffisamment de mémoire ou d'espace disque.u2022 Pour libérer de la mémoire, à proximité des classeurs ou des programmes que vous
n'avez plus besoin.u2022 Pour libérer de l'espace disque, supprimez les fichiers dont vous n'avez plus besoin de la
disque que vous enregistrez.: au
Microsoft.Bureau de.Interop.Excel.Les classeurs.Ajouter(Modèle D'Objet)
1) j'ai donné le compte de IIS apppool\ASP.NET v4.0 un contrôle complet sur l'Application MS Excel de configuration DCOM.
2) j'ai donné IIS apppool\ASP.NET v4.0 un contrôle complet sur l' 'C:\Windows\SysWOW64\config\systemprofile" et créé un dossier sur le Bureau en elle.
3) j'ai besoin de continuer à utiliser l'Interopérabilité qu'il n'est pas recommandé.
4) L'application fonctionne très bien sur Windows Server 2003/Windows XP 32 bits.
5) MS Office 2010 (64-bit, la version d'essai) est installé sur la machine.
6), je préfère ne pas modifier l'application. l'identité du pool de ApplicationPoolIdentity de Service Réseau, etc.. ApplicationPoolIdentity est le nouveau type de l'Identité dans IIS 7 et c'est fortement recommandé.
Il fonctionne très bien si je sélectionne "Interactive de l'Utilisateur' (j'ai connecté en tant qu'administrateur) dans la configuration DCOM, mais il provoque d'autres problèmes. J'ai besoin d'utiliser "le Lancement de 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.
Merci.
- Il ya amplement d'espace disque et de la mémoire, de sorte qu'il n'est pas le problème. Je n'ai donc pas été en mesure de fixer encore.
- Vous aurez presque certainement besoin de changer l'identité du pool d'applications est en cours d'exécution en vertu d'un utilisateur qui a déjà ouvert une session interactive sur le et exécutez Excel afin d'être en mesure d'utiliser Excel à partir de l'application web. Alternativement, vous pouvez modifier la configuration DCOM à un utilisateur spécifique, plutôt que de lancer ou de façon interactive, et de lui donner les détails de connexion pour votre compte d'utilisateur admin pour tester si cela fait une différence.
- Grâce Nanhydrin, qui fonctionnera probablement. Pourquoi ne ApplicationPoolIdentity pas de travail?
- Peut-être êtes-vous à l'aide de plus d'une instance d'Excel à chaque fois pour générer le document?
- Non, il y a juste un exemple.
- vous ne devriez pas faire confiance à chaque erreur messagae comme la bible. Voir ma réponse. Le problème n'avait RIEN à voir avec la mémoire ou l'espace disque.
Vous devez vous connecter pour publier un commentaire.
Clic droit sur le fichier avec l'explorateur de fichiers, choisissez
Properties
, puisGeneral
onglet et cliquez sur leUnblock
bouton. Ce message d'erreur est très trompeur.Aller à cette clé dans l'Éditeur de Registre (Exécuter | Regedit)
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
touche de changement de Cache à quelque chose comme C:\Windows\Temp
Mon problème similaire a été résolu comme ça.
Ce qui concerne,
Ripley
J'ai eu ce même problème, il n'y a aucune question au sujet de la mémoire sur mon serveur, j'ai Finalement réussi à résoudre ce problème en suivant les étapes
3.Trouver "Application Microsoft Excel" dans le côté droit.
4.Ouvrez ses propriétés par un clic droit
5.En vertu de l'Identité de l'onglet, sélectionnez l'option interactive de l'utilisateur et cliquez sur le bouton Ok.
Vérifier encore une fois. Espérons que cela aide
NOTE: Mais maintenant vous pouvez vous retrouver avec un autre COM erreur "Récupération de la fabrique de classe COM pour le composant...". Dans ce cas il suffit de définir l'Identité de cet Utilisateur, puis entrez le nom d'utilisateur et le mot de passe d'un utilisateur qui a les droits suffisants. Dans mon cas, je suis entré à l'utilisateur d'un groupe d'utilisateurs avec pouvoir.
D'essai de ce genre.Parfois, problème d'autorisation.
Cliquez sur
Clic droit sur l'Application microsoft Excel
J'ai aussi rencontré le même scénario et là, deux solutions après googler pour les plusieurs fois. Espérons que cette aide.
Façon 01:
Avant d'essayer d'ouvrir le fichier dans Excel, vous la trouverez dans des Fenêtres de l'Explorateur de Fichiers. Cliquez-droit sur le fichier et sélectionnez Propriétés. Au bas de l'onglet Général, cliquez sur le bouton Débloquer. Une fois que vous débloquer un fichier, Windows doit rappeler et Excel ne devrait pas vous poser de nouveau.
Cette option n'est disponible que pour certains types de fichiers, mais pas les autres. Si vous n'avez pas un bouton Débloquer, utiliser la Voie 2.
Façon 02:
Ce est la meilleure option si vous avez l'habitude de stocker vos téléchargé les fichiers Excel dans un dossier. Dans Excel, cliquez sur le Fichier » Options » Trust Center » Trust Center » Paramètres des Emplacements Approuvés. Cliquez sur Ajouter un nouvel emplacement. Recherchez le dossier où vous stockez vos fichiers Excel, sélectionnez les sous-dossiers de ce lieu sont aussi digne de confiance, puis cliquez sur OK.
Si aucun des ci-dessus fonctionne, essayez ces ainsi:
Dans
Component services >Computes >My Computer>Dcom config>Microsoft Excel Application>Properties
, allez à l'onglet sécurité, cliquez sur personnaliser dans les trois sections et ajoutez l'utilisateur souhaitez exécuter l'application, et de donner pleinement les autorisations de l'utilisateur.Aller à
C:\Windows\Temp
assurez-vous qu'il existe et qu'il n'est pas vous inviter à l'entrée.Après avoir donné les autorisations nécessaires dans DCOM configurations j'ai aussi besoin de changer l'identité de mon application dans IIS pour un compte personnalisé