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

时间:2010-08-18 19:54:20

标签: objective-c c excel

我在谷歌搜索但我似乎没有找到从Objective-C读取Excel文件的方法。我找到的唯一答案是首先转换为CSV然后作为文本文件读取,但我不希望这样。

我知道必须有一种方法,虽然我多次使用PHP模块来读/写Excel文件,所以我假设还有一个C库来做(那时可以在Objective-C /中使用) iPhone应用程序)

所以...有没有人知道我可以在iPhone上使用这样的库?

5 个答案:

答案 0 :(得分:19)

我认为PHP库使用Office OpenXML格式...... 用于读/写二进制Excel文件的最佳库(不运行Excel本身并通过COM调用它)我使用的是Apache POI - http://poi.apache.org/,但这是Java。您可以尝试使用GCJ在iPhone上运行,但是谁知道Apple会对它做些什么。你可以手动将整个东西移植到Obj-C / C ++我想......

有一些C / C ++库只做有限的子集,但它们可能不是非常可靠或使用简单。

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

http://www.libxl.com/ - 商业,199美元,谁知道他们是否会为您提供编译到您的应用程序的来源。

http://www.codeproject.com/KB/office/ExcelFormat.aspx - C ++源码,非常不清楚许可证,就像代码项目中的所有东西一样。谁知道呢。

另一种选择是尝试从阅读竞争对手的开源excel中提取代码。开放式办公室 - http://www.openoffice.org/ - 可能是一场彻头彻尾的噩梦,Gnumeric可能是一个更好的选择。 Excel代码在这里 - http://git.gnome.org/browse/gnumeric/tree/plugins/excel - 它可能需要大量的麻烦才能让它在Gnumeric之外工作。 KSpread在此处有类似的代码:http://websvn.kde.org/trunk/koffice/filters/kspread/excel/import/,但我相信Gnumeric在Excel导入方面具有更高的准确性。

答案 1 :(得分:17)

实际上,有一个项目 - 在源伪造上称为libxls。项目还有一个ObjectiveC类接口。使用此项目,您可以打开Excel文件,并读取其中的大部分信息(单元格值以及文件属性)。

此外,图书馆还有iOS Objective C interface

答案 2 :(得分:2)

@David H
        我发现他的答案是解决问题的最佳方法。你会发现他的DHlibxls更适合分析ios程序中的xls文件。 这是我的博客summary

答案 3 :(得分:1)

我最近进入了一个项目,客户希望将信息从Excel文件导入到应用程序中。我知道很多的人说,只需将其转换为CSV并以这种方式解析它,但我真的不希望客户端经历另一步并引入不同的文件格式 - 如这很简单。

我尝试使用DHlibxls,但我觉得它有点太复杂,所以我创建了QZXLSReader.这是一个拖放式解决方案,所以它更容易使用。我不认为这是完整的功能,但它对我有用。

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

我希望它有所帮助!

答案 4 :(得分:1)

其他方式,有些地方使用libxls。

任何方式,更多选择:

https://github.com/QuetzalMX/QuetzalXLSReader