2010-11-25 5 views
0

J'utilise Microsoft.Office.Interop.Excel.dll COM pour exporter Excel. Je distribue ma demande aux clients. Il fonctionne bien sur mon ordinateur mais sur un autre ordinateur, il provoque une erreur.Erreur lors de l'exportation Excel en utilisant Microsoft.Office.Interop.Excel

Je me demande que le package d'application doit être inclus Microsoft.Office.Interop.Excel.dll et l'ordinateur doit être installé Microsoft Excel. Merci.

P/S: Mon application est C# .net 2.0.

MISE À JOUR: J'ai un problème. Je ne connais pas la version d'Excel sur l'ordinateur client. Alors, quelle version de PIA je vais utiliser?

Si je construis mon application avec Microsoft.Office.Interop.Excel.dll version 11 (approprié avec Office 2003), mais quel problème se produira si l'ordinateur client a Office 2007. Il sera exécuté ou non? Comment utiliser un seul Microsoft.Office.Interop.Excel.dll qui fonctionne bien sur tous les ordinateurs clients qui ont un de bureau 2003, 2007 ou 2010.

Merci.

+0

Quelle erreur? Quelle version d'Excel sur votre ordinateur/leur ordinateur? Avez-vous utilisé une liaison anticipée ou tardive? –

+0

J'ai mis à jour ma question. Aidez-moi, s'il vous plaît. –

+0

Vous devriez créer une nouvelle question pour vos nouvelles questions, de sorte que plus de gens le verront et y répondront. Cependant, si vous utilisez Late Binding, vous n'avez pas à vous soucier de la version d'Excel (à condition de ne pas utiliser certaines fonctionnalités qui existent bien sûr dans certaines versions). Regardez ce lien pour plus d'informations concernant la liaison Late vs Early: http://support.microsoft.com/kb/302902 –

Répondre

1

Avez-vous déployé les autres DLL nécessaires?

  • Interop.Microsoft.Office.Core.dll
  • Microsoft.Vbe.Interop.dll

EDIT:

Vous devriez voir deux références dans votre projet: Microsoft.Office .Core et VBIDE. Cliquez sur ces références et définissez la propriété "Copie locale" sur true.

Un refrence complet pour l'installation et le déploiement de l'PIA se trouvent ici: http://msdn.microsoft.com/en-us/library/aa159923%28office.11%29.aspx

Sur ce site est également un lien vers un fichier redistribuable, vous pouvez inclure et exécuter à partir de votre installateur pour installer le PIA dans le GAC.

+0

Je déploie uniquement Microsoft.Office.Interop.Excel.dll. S'il vous plaît aidez-moi dans le but de ces fichiers. Merci. –

+1

@ Lu Lu: L'Office 2003 PIA est compatible avec les versions plus récentes d'Office, de sorte que le PIA 2003 devrait fonctionner avec Office 2007 et 2010 sans aucune modification. – VVS

+0

Bonjour, j'ai 2 questions: 1. Comment détecter un ordinateur client en utilisant Office Excel 2003 ou Office Excel 2007 ou pas de bureau Excel. Supposons que l'ordinateur client possède une version de bureau Excel, j'utiliserai quelle version de PIA pour ajouter une référence à mon projet, et mon application peut fonctionner correctement et ne pas dépendre de la version d'Excel sur le client. Les DLL que je peux inclure dans mon application et le client n'ont pas besoin d'installer PIA. Merci. –

0

Si vous souhaitez utiliser Office Automation, Office doit toujours être installé. En effet, les classes interop créera une instance d'Excel en arrière-plan et exécutera toutes vos actions sur cette instance.

Si aucun bureau n'est installé, il ne fonctionnera pas correctement. Veuillez également garder à l'esprit que l'utilisation de la bureautique sur un serveur n'est pas la solution (en raison de problèmes de sécurité, etc.).

0

Utilisent-ils la même version d'Excel? vous pouvez regarder dans le PIA (Primary Interop Assembiles) à déployer avec votre application.

Questions connexes