OLEDB或Excel对象或数据库哪一个最好 [英] Which One is Best OLEDB Or Excel Object Or Database

查看:30
本文介绍了OLEDB或Excel对象或数据库哪一个最好的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要使用Excel 2007文件来读取数据。至于哪一种是最好的方式:

  1. 使用OLEDB提供程序
  2. Excel Interop对象
  3. 将Excel数据转储到数据库并使用过程

请指导我选择。

推荐答案

以下是我的看法:

1。使用OLEDB提供程序

只有在具有简单、统一的结构化表格的情况下才能满足您的需要。例如,如果您必须提取任何单元格格式信息,则它不会对您有太大帮助。Jet引擎的有缺陷的"行类型猜测"算法可能会使这种方法几乎无法使用。但是,如果可以从每个表的前几行唯一地标识数据类型,这种方法可能就足够了。优点:它速度很快,即使在没有安装MS Excel的机器上也能运行。

2。Excel Interop对象

可能非常慢,特别是与选项1相比,并且您需要安装MS Excel。但您可以完全访问Excel的对象模型,您可以提取存储在您的Excel文件中的几乎所有信息(例如:格式信息、颜色、框架等),并且您的工作表可以像您想要的那样复杂。

3。将Excel数据转储到数据库并使用过程

取决于您考虑的数据库转储类型,以及您手头是否有数据库系统。如果您正在考虑MS Access,这将在内部再次使用Jet引擎,其利弊与上面的方法1相同。

其他选项:

4。编写Excel VBA宏以读取所需数据并将其写入文本文件。从C#程序中读取文本文件。赞成:比方法2快得多,在访问元信息方面具有相同的灵活性。缺点:你必须把你的程序分成VBA部分和C#部分。并且您的计算机上需要安装MS Excel。

5。使用第三方库/组件执行此任务。有大量的图书馆为这项工作服务,免费的和商业的。问问谷歌,或者在这里搜索一下就知道了。其中许多库不需要在计算机上安装MS Excel,如果要将数据作为服务器进程的一部分提取,它们通常是最佳选择。

这篇关于OLEDB或Excel对象或数据库哪一个最好的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆