165 votes

Comment puis-je comparer deux feuilles de calcul?

Nous avons beaucoup de feuilles de calcul (xls) dans notre référentiel subversion. Ce sont généralement édités avec gnumeric ou openoffice.org et sont principalement utilisés pour remplir les bases de données pour les tests unitaires avec dbUnit. Il n'est pas facile de faire des comparaisons sur les fichiers xls que je connais, et cela rend la fusion extrêmement fastidieux et source d'erreur.

J'ai trouvé Comparer les feuilles de calcul, mais elle nécessite Excel 2000 ou plus tard. J'ai aussi essayé de convertir les feuilles de calcul au format xml et en faisant régulièrement une diff, mais il se sent vraiment comme il devrait être un dernier recours.

Existe-il des outils pour la comparaison de deux feuilles de calcul (xls ou ods)? Je suis principalement à la recherche d'un multi-plateforme et open-source de l'outil.

109voto

Laurent Points 2343

Rapide et facile sans outils externes, fonctionne bien tant que les deux feuilles de la comparaison sont similaires:

  • La création d'une troisième feuille de calcul
  • Type =if(Sheet1!A1 <> Sheet2!A1, "X", "") dans la cellule en haut à gauche (ou l'équivalent: cliquez sur les cellules automatiquement les références insérées dans la formule)
  • Ctrl+C (copier), Ctrl+A (tout sélectionner), Ctrl+V (coller) pour remplir la feuille.

Si les feuilles sont semblables, cette feuille de calcul est vide à l'exception de quelques cellules avec X en eux, en mettant en évidence les différences. Dézoom à 40% pour voir rapidement ce qui est différent.

106voto

na_ka_na Points 653

Nous avons fait face exactement au même problème dans notre co. Nos tests produisent des classeurs Excel. Diff numérique binaire n'était pas une option. Nous avons donc déployé notre propre outil de ligne de commande simple. Découvrez la page github . En fait, cela nous permet d'automatiser nos tests assez bien. Correctifs / Les demandes de fonctionnalités sont les bienvenues!

21voto

Shabbyrobe Points 4055

Si vous ne voulez pas débourser pour le programme Diff Doc et que vos feuilles de calcul ne sont pas très compliquées, vous pouvez les exporter au format CSV et utiliser un outil comme Beyond Compare

12voto

thvo Points 744

J'ai fait beaucoup de comparaisons, de classeurs Excel dans le passé. Ma technique fonctionne très bien pour les classeurs avec de nombreuses feuilles de calcul, mais il ne compare le contenu de la cellule, pas de mise en forme des cellules, des macros, etc. Aussi, il y a peu de codage en cause, mais il en vaut la peine si vous avez à comparer un grand nombre de fichiers volumineux à plusieurs reprises. Voici comment il fonctionne:

A) Écrire un simple programme de vidage qui suit à travers toutes les feuilles de calcul et enregistre toutes les données de l'onglet fichiers séparés. Créer un fichier par feuille de calcul (utiliser le nom de la feuille que le nom de fichier, par exemple "MyWorksheet.tsv"), et de créer un nouveau dossier pour ces fichiers à chaque fois que vous exécutez le programme. Nom du dossier après le nom de fichier excel et ajouter un horodatage, par exemple, "20080922-065412-MyExcelFile". Je l'ai fait en Java à l'aide d'une bibliothèque appelée JExcelAPI. C'est vraiment très facile.

B) Ajouter une extension shell Windows pour exécuter votre nouveau programme Java à partir de l'étape Un clic droit sur un fichier Excel. Cela rend très facile pour exécuter ce programme. Vous devez Google comment faire cela, mais il est aussi facile que d'écrire un *.le fichier reg.

C) Obtenir BeyondCompare. Il a une fonctionnalité très intéressante pour comparer les données délimitées en la montrant dans un joli tableau, voir la capture d'écran.

D) Vous êtes maintenant prêt à comparer des fichiers Excel avec facilité. Cliquez-droit sur un fichier Excel 1 et exécuter votre programme de vidage. Cela va créer un dossier avec un fichier par feuille de calcul. Cliquez-droit sur le fichier Excel 2 et exécuter votre programme de vidage. Il va créer un deuxième dossier avec un fichier par feuille de calcul. Maintenant utiliser BeyondCompare (colombie-britannique) afin de comparer les dossiers. Chaque fichier représente une feuille de calcul, donc si il y a des différences dans une feuille de calcul BC et vous pouvez creuser et faire une comparaison de fichiers. La colombie-britannique montrent la comparaison dans un joli tableau de mise en page, et vous pouvez masquer des lignes et des colonnes, ça ne vous intéresse pas.

10voto

Andres Points 51

J'ai trouvé xdocdiff WinMerge Plugin. C'est un plugin pour WinMerge (à la fois open source et Freeware, vous n'avez pas besoin d'écrire un VBA, ni enregistrer un fichier excel au format csv ou xml). Il fonctionne pour le celd du contient.

Ce plugin prend en charge également:

  • .rtf Rich Text
  • .docx/.docm Microsoft WORD 2007(OOXML)
  • .xlsx/.xlsm Microsoft Excel 2007(OOXML)
  • .pptx/.pptm Microsoft PowerPoint 2007(OOXML)
  • .doc Microsoft WORD ver5.0/95/97/2000/XP/2003
  • .xls Microsoft Excel ver5.0/95/97/2000/XP/2003
  • .ppt Microsoft PowerPoint 97/2000/XP/2003
  • .sxw/.sxc/.sxi/.sxd OpenOffice.org
  • .odt/.ods/.odp/.odg Ouvrir le Document
  • .wj2/wj3/wk3/wk4/Lotus 123 123
  • .wri Windows3.1 Écrire
  • .pdf Adobe PDF
  • .mht Web Archive
  • .eml fichiers Exportés à partir de OutlookExpress

Égard, Andres

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X