J'ai récemment reçu la tâche de traiter un grand nombre de formulaires Excel (environ 400). Mon travail consiste maintenant simplement à gratter l'information et à placer l'information dans quatre documents différents. Je crois qu'un court script répondrait parfaitement à mes besoins, mais je veux rester loin de VBA si je le peux. Des suggestions sur la façon de s'y prendre et quelle langue choisir (ça ne me dérange pas d'apprendre quelque chose de nouveau)?Traitement des formulaires Excel
Répondre
Je recommanderais Python comme le langage correspondant à votre problème car il est easy to learn, scriptable, et possède les bonnes fonctionnalités de langage (dans ce cas les objets et les bibliothèques GUI) pour transformer votre travail en une application que d'autres peuvent utiliser si elle tourne en quelque chose de plus que juste une tâche occasionnelle pour vous. En ce qui concerne le traitement Excel réel, il existe un jeu de Python libraries. Le lien inclut également un manuel de documentation PDF 50+ avec des exemples d'utilisation pour lire, écrire et manipuler des classeurs.
En outre, d'autres recherches montrent que cette bibliothèque ne gère pas .xlsx. Il y a un projet openpyxl pour cela, mais donne l'impression qu'il est encore en développement: http://bitbucket.org/ericgazoni/openpyxl – orangepips
Quelles langues connaissez-vous? .NET est très pratique pour les modifications des applications MS Office. – demokritos
Je ne me limite pas aux langues que je connais actuellement, car je suis également intéressé par de nouvelles choses. Puisque c'est la première fois que je dois travailler avec Windows, je pense que .NET fonctionnera très bien. C'est juste le cadre, cependant, non? Je dois encore choisir une langue? – jlv
Le lien suivant contient des exemples de base pour la bureautique à partir de C# utilisant à la fois la liaison anticipée et la liaison tardive (si vous souhaitez uniquement exécuter cette opération sur une machine, j'utiliserais une liaison anticipée.): http://support.microsoft.com/kb/302902 –