2013-08-05 3 views
0

Lorsque vous essayez d'exécuter ces lignes:C# ne peut pas ouvrir le fichier Excel

var app = new Excel.Application(); 
Excel.Workbook workbook = app.Workbooks.Open(pathToFile, Type.Missing, true, Type.Missing, Type.Missing, 
                Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
                Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); 

J'ai ces problèmes:

1) Je reçois un message de « conversion de fichier est en cours ". Pourquoi ai-je besoin de convertir quelque chose si tout ce que je veux faire est simplement de lire une colonne de l'une des feuilles de travail.

2) Je reçois ce message d'erreur: enter image description here

pourquoi ai-je besoin de prendre soin version créé Excel?

3) À la toute fin, je reçois une exception: "Trop de formats de cellules différents". Donc, est-ce qu'il y a quelque chose qui ne va pas dans la façon d'utiliser la méthode du classeur ouvert ou existe-t-il une autre façon de lire une colonne spécifique d'un fichier Excel contenant plusieurs feuilles? ?

+1

Je suppose que votre DLL Interop n'est pas la bonne version pour le fichier que vous ouvrez. Essayez de trouver un nouveau? – Bridge

+0

Ma conjecture, ce message d'erreur est venu directement d'Excel, pas de problème dans interop. Avez-vous essayé d'ouvrir ce fichier manuellement? – nhrobin

+0

Le message d'erreur ici est l'un des plus descriptifs que j'ai vu de Microsoft et il semble s'expliquer. @nhrobin très probablement la version de l'interop qu'il utilise sera comparable à la version d'Excel il fonctionne donc oui il devrait avoir la même erreur je pense l'ouvrir manuellement – chancea

Répondre

6

Il pourrait ne pas être évident pour vous mais appeler

new Excel.Application() 

ouvre une instance d'Excel (vous pouvez le vérifier sur le Gestionnaire des tâches). Donc, si votre version d'Excel n'est pas compatible avec le fichier que vous ouvrez, vous obtenez cette erreur.

Puisque vous essayez d'ouvrir le document Excel avec votre application Excel, vous vous souciez de quelles versions ils sont. Je crois que OpenXML SDK pourrait peut-être vous aider.

Questions connexes