Which One is Best OLEDB Or Excel Object Or Database(OLEDB或Excel对象或数据库哪一个最好)
问题描述
我需要使用Excel 2007文件来读取数据。至于哪一种是最好的方式:
- 使用OLEDB提供程序
- Excel Interop对象
- 将Excel数据转储到数据库并使用过程
请指导我选择。
推荐答案
以下是我的看法:
1。使用OLEDB提供程序
只有在具有简单、统一的结构化表格的情况下才能满足您的需要。例如,如果您必须提取任何单元格格式信息,则它不会对您有太大帮助。Jet引擎的有缺陷的"行类型猜测"算法可能会使这种方法几乎无法使用。但是,如果可以从每个表的前几行唯一地标识数据类型,这种方法可能就足够了。优点:它速度很快,即使在没有安装MS Excel的机器上也能运行。
2。Excel Interop对象
3。将Excel数据转储到数据库并使用过程
取决于您考虑的数据库转储类型,以及您手头是否有数据库系统。如果您正在考虑MS Access,这将在内部再次使用Jet引擎,其利弊与上面的方法1相同。
其他选项:
4。编写Excel VBA宏以读取所需数据并将其写入文本文件。从C#程序中读取文本文件。赞成:比方法2快得多,在访问元信息方面具有相同的灵活性。缺点:你必须把你的程序分成VBA部分和C#部分。并且您的计算机上需要安装MS Excel。
5。使用第三方库/组件执行此任务。有大量的图书馆为这项工作服务,免费的和商业的。问问谷歌,或者在这里搜索一下就知道了。其中许多库不需要在计算机上安装MS Excel,如果要将数据作为服务器进程的一部分提取,它们通常是最佳选择。
这篇关于OLEDB或Excel对象或数据库哪一个最好的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:OLEDB或Excel对象或数据库哪一个最好
基础教程推荐
- Moq It.Is<>不匹配 2022-01-01
- C# 从 List<List<int>> 中删除重 2022-01-01
- .NET SerialPort DataReceived 事件未触发 2022-01-01
- WPF 模态进度窗口 2022-01-01
- 禁止输入少量字符,例如'<'、'&a 2022-01-01
- 如何使用 .Net 检查 Active Directory 服务器是否已启动并正在运行? 2022-01-01
- 当值可以是对象或空数组时反序列化 JSON 2022-01-01
- 我应该在后面的代码中直接使用 Linq To SQL 还是使 2022-01-01
- 如果有人提交恶意软件Nuget包怎么办? 2022-01-01
- Azure Functions:CosmosDBTrigger 未在 Visual Studio 中触发 2022-01-01
