web-dev-qa-db-fra.com

Lire les données d'un fichier Excel dans Objective-C (iPhone)

J'ai effectué une recherche sur Google mais je ne semble pas avoir trouvé le moyen de lire les fichiers Excel à partir d'Objective-C. Les seules réponses que je trouve sont de convertir d'abord au format CSV, puis de le lire sous forme de fichier texte, mais ce n'est pas ce que je veux.

Je sais qu'il doit y avoir un moyen, alors que j'utilisais plusieurs fois les modules PHP de lire/écrire des fichiers Excel, aussi je suppose qu'il existe aussi une bibliothèque C pour le faire (qui pourrait ensuite être utilisée dans Objective -C/application iPhone)

Alors ... est-ce que quelqu'un connaît une telle bibliothèque que je pourrais utiliser sur iPhone?

19
Marin Todorov

En fait, il existe un tel projet - il s'appelle libxls on source forge. Il existe également une interface de classe ObjectiveC pour le projet. Avec ce projet, vous pouvez ouvrir un fichier Excel et lire la plupart des informations qu'il contient (valeurs de cellule ainsi que les propriétés du fichier).

De plus, il existe une interface iOS Objective C vers la bibliothèque.

17
David H

Je pense que les bibliothèques PHP utilisent les formats Office OpenXML ... La meilleure bibliothèque pour lire/écrire des fichiers Excel binaires (sans exécuter Excel lui-même et l'appeler via COM) que j'ai utilisée est Apache POI - http://poi.Apache.org/ , mais c'est Java. Vous pouvez essayer d'utiliser GCJ pour que cela fonctionne sur l'iPhone, mais qui sait ce que Apple en ferait? Vous pouvez manuellement porter le tout à Obj-C/C++, je suppose ...

Quelques bibliothèques C/C++ font un sous-ensemble limité, mais elles ne sont probablement pas incroyablement fiables ou simples à utiliser.

- http://xlslib.sourceforge.net/index.php - LGPL

http://www.libxl.com/ - Commercial, 199 $, qui sait s’ils vous donneraient la source à compiler dans votre application.

http://www.codeproject.com/KB/office/ExcelFormat.aspx - Source C++, licence incroyablement peu claire comme tout sur un projet de code. Qui sait.

Une autre option consiste à essayer d'extraire le code d'un concurrent open source en lecture Excel. Open Office - http://www.openoffice.org/ - est susceptible d'être un cauchemar complet, Gnumeric est probablement un meilleur pari. Le code Excel est ici - http://git.gnome.org/browse/gnumeric/tree/plugins/Excel - il est probable que vous aurez besoin de beaucoup de déconner pour le faire fonctionner en dehors de Gnumeric. KSpread a un code similaire ici: http://websvn.kde.org/trunk/koffice/filters/kspread/Excel/import/ , mais je pense que Gnumeric a une meilleure réputation pour la précision par rapport à l'importation Excel.

19
rjw

@ David H
Je trouve que sa réponse est la meilleure pour résoudre le problème. Vous trouverez son DHlibxls est préférable pour analyser le fichier xls dans le programme iOS Voici dans mon blog résumé

2
Robot1987

Autrement, certains utilisent libxls.

de toute façon, plus choisissez:

https://github.com/QuetzalMX/QuetzalXLSReader

1
rbbtsn0w

Je suis récemment entré dans un projet dans lequel le client voulait importer des informations d'un fichier Excel dans une application. Je sais qu'un beaucoup des gens disent: transformez-le simplement en un fichier CSV et analysez-le ainsi, mais je ne voulais vraiment pas que le client passe par une autre étape et introduise un format de fichier différent - aussi simple comme cela peut être.

J'ai essayé d'utiliser DHlibxls, mais j'ai trouvé que c'était un peu trop compliqué et j'ai donc créé QZXLSReader. C'est une solution de glisser-déposer, ce qui rend son utilisation beaucoup plus simple. Je ne pense pas que ce soit aussi complet, mais cela a fonctionné pour moi.

Il s’agit d’une bibliothèque capable d’ouvrir des fichiers XLS et de les analyser en classes Obj-C. Une fois que vous avez les cours, il est très facile de les envoyer à Core Data, à un dictionnaire ou à d’autres choses encore.

J'espère que ça aide!

1
OlivaresF