当前位置: 首页 > 编程语言 > C#

哪个是最好的OLEDB或Excel对象或数据库分享

时间:2023-04-10 14:17:12 C#

哪个是最好的OLEDB或Excel对象或数据库我需要使用Excel2007文件读取数据。最好的方法是:使用OLEDBProviderExcelInterop对象将Excel数据转储到数据库并使用程序请指导我选择。以下是我的意见:1.使用OLEDBProvider只有简单和统一的结构化表格才能满足您的需求。例如,如果您必须提取任何单元格格式信息,它对您没有多大帮助。Jet引擎有问题的“行类型猜测”算法可能使这种方法几乎无法使用。但是,如果可以从每个表的前几行中唯一标识数据类型,则这种方法可能就足够了。优点:速度快,甚至可以在没有安装MSExcel的机器上运行。2.Excel互操作对象可能非常慢,尤其是与选项1相比,后者要求您安装MSExcel。但是,您可以完全访问Excel的对象模型,您可以提取几乎所有存储在Excel文件中的信息(例如:格式信息、颜色、框架等),并且您的工作表可以按照您想要的方式进行复杂的结构化。3.将Excel数据转储到数据库并使用该过程取决于您正在考虑的数据库转储类型以及您手头的数据库系统。如果您考虑使用MS访问,这会在内部再次使用Jet引擎,其优点和缺点与上述方法1相同。其他选项:4.编写ExcelVBA宏以读取所需数据并将其写入文本文件。从C#程序中读取文本文件。优点:比方法2快得多,在访问元信息方面具有相同的灵活性。缺点:您必须将程序拆分为VBA部分和C#部分。并且您的机器上需要MSExcel。5.使用第三方库/组件来执行此任务。这里有很多图书馆,有免费的也有商业的。问问谷歌,或在这里搜索。许多这些库不需要机器上的MSExcel,如果要将数据作为服务器进程的一部分获取,它们通常是最佳选择。无论您如何设计问题,选项1和2都是非常痛苦的练习。如果您可以使用SSIS将数据移动到数据库中,并且由于其他需求而满足您的需求,那么这也是一个不错的选择。但首选选项通常是使用OfficeOpenXMLforExcel2007及更高版本。这不会像选项2那样让COM头疼,也不会像选项1那样出现猜测行类型的问题。有了更多精心设计的问题,您可以获得更好的答案。以上就是C#学习教程:OLEDB或Excel对象或数据库哪个最好。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文来自网络收集,不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: