从Objective-C(iPhone)的Excel文件读取数据

我在谷歌search,但我似乎没有find一种方法来从Objective-C读取Excel文件。 我find的唯一答案是首先转换为CSV,然后作为文本文件读取,但我不想这样做。

我知道必须有一种方法,而我用PHP模块读取/写入Excel文件多次,所以我假设也有一个C库来做到这一点(然后可以在Objective-C / iPhone应用程序中使用)

所以…有没有人知道我可以在iPhone上使用这样一个库?

实际上,有一个这样的项目 – 它被称为源码伪造的libxls 。 该项目还有一个ObjectiveC类接口。 有了这个项目,你可以打开一个Excel文件,并阅读其中的大部分信息(单元格值以及文件属性)。

另外还有一个iOS库Objective-C接口 。

我认为PHP库使用Office OpenXML格式…读取/写入二进制Excel文件的最佳库(无需运行Excel本身并通过COM调用)我使用的是Apache POI – http://poi.apache。 org / ,但这是Java。 你可以尝试使用GCJ来完成iPhone上的工作,但是谁知道苹果会怎么做呢。 你可以手动移植到Obj-C / C ++,我猜…

有几个C / C ++库可以做一个有限的子集,但是它们可能不是非常可靠或简单易用的。

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

商业,199美元,谁知道他们是否会给你的来源编译到您的应用程序。

http://www.codeproject.com/KB/office/ExcelFormat.aspx – C ++源码,像代码项目上的所有东西一样令人难以置信的许可证。 谁知道。

另一个select是试图从一个开源excel读取竞争对手中提取代码。 Open Office – http://www.openoffice.org/ – 可能是一个完整的噩梦,Gnumeric可能是一个更好的select。 Excel代码在这里 – http://git.gnome.org/browse/gnumeric/tree/plugins/excel – 它可能需要大量的混乱,使之在Gnumeric之外工作。 KSpread在这里有类似的代码: http ://websvn.kde.org/trunk/koffice/filters/kspread/excel/import/,但我相信Gnumeric在Excel导入方面有更好的准确性。

@大卫H
我发现他的答案是最好的解决问题。 你会发现他的DHlibxls更好地分析ios程序中的xls文件。 这是在我的博客的总结

我最近进入了一个项目,客户希望从Excel文件导入信息到一个应用程序。 我知道很多人都说,把它转换成一个CSV文件,然后再parsing,但是我真的不希望客户端经过另一个步骤,引入不同的文件格式 – 就像这样简单。

我尝试使用DHlibxls,但是我觉得这有点太复杂,所以我创build了QZXLSReader。 这是一个拖放解决scheme,因此使用起来更容易。 我不认为这是function完整,但它为我工作。

它基本上是一个可以打开XLS文件并将它们parsing为Obj-C类的库。 一旦你有了课程,把它们发送到核心数据或字典或你有什么东西是很容易的。

我希望它有帮助!

其他方式,一些使用libxls的地方。

任何方式,更多的select:

https://github.com/QuetzalMX/QuetzalXLSReader