OLE DB与OPEN XML SDK vs 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,那么为什么要使用它?

那么祝你好运吧。