我需要读取XLSX文件并从中提取最大量的内容。我应该使用哪个API?
OLE DB,打开XML SDK或Excel Interop?
- 哪个最容易使用?
- 你能用一个或另一个检索所有信息吗?即日期,时间,合并单元格,表格,数据透视表等
我需要读取XLSX文件并从中提取最大量的内容。我应该使用哪个API?
OLE DB,打开XML SDK或Excel Interop?
您可以尝试所有这些并选择最适合您的那个......
根据您要阅读的数据,我建议您使用Open XML over Interop或Ole DB。
我不知道一个开放的XML SDK,虽然我有一些经验 EPPlus 我正在使用的图书馆,只能说出好话 - 它快速,易学,有很好的例子。该库基于Open Office XML格式,因此我认为它与您提到的SDK几乎相同,并且能够轻松读取和写入Excel 2007和2010文件。
在链接的Web上,您将找到一个库本身,文档和一些示例“Hello World”项目以供下载。
为什么那个图书馆在第一位?因为有了它,您不仅可以读取单元格值,还可以读取它们的颜色,字体,宽度和高度,合并以及所有详细内容,您不仅可以阅读,还可以进行修改。更重要的是,您不需要安装Excel来执行此操作。
在第二位 - 以防你需要提取 表格数据 从工作表 - 您可以使用OLE DB。我担心你将无法提取有关格式,颜色等的任何信息,以及数据必须在表格式组织的工作表中,因此您可以将其视为数据库的表格。
最后一个是Interop,因为:
- 它是一个COM库,所以你需要在通过.NET玩它时要非常小心,因为很容易造成一些丑陋且很难找到内存泄漏(由我自己证实不好的经验) - 如果你不处理它们的对象正确地,它打开了Excel.exe进程,
- 它比以前的方法慢得多,
- 基本上,它几乎没有更多的附加价值,以前的方法之一(EPPlus或OleDB),并要求在客户端的机器上安装Excel,那么为什么要使用它?
那么祝你好运吧。