如何将包含数百张工作表的 excel 文件导入数据库以在 C# 项目中使用?
Posted
技术标签:
【中文标题】如何将包含数百张工作表的 excel 文件导入数据库以在 C# 项目中使用?【英文标题】:How to import an excel file with hundreds of sheets to a database to use in C# project? 【发布时间】:2020-06-22 14:46:35 【问题描述】:我对 C# 和编程很陌生。 我有一个超过 100 张的 excel 文件。 在每张表中,我有 200 多行数据(每行 4 列)。 我需要使用 C# 项目中每个工作表中的数据。 我是否需要使用数据库来上传工作表中的数据?如果是,使用什么数据库以及如何将 Excel 中的值放入该数据库以便在 C# 之后更轻松地使用它们? 我阅读了谷歌以找到我该怎么做,但我发现了很多东西,但我不明白。 谢谢!
【问题讨论】:
我会使用 BulkCopy 将工作表复制到数据库中。 【参考方案1】:有几种可能的解决方案:
-
使用库访问 Excel。有多种选择,但ExcelDataReader 似乎是下载次数最多的选择之一。
Use ADO.Net to access the excel file。这会将 excel 文件视为数据库,除非您熟悉 SQL,否则可能会有点难以使用。
Use excel interop library。这需要在使用的机器上安装 excel。
【讨论】:
我不推荐使用 Excel 互操作。 MS Office Interop 很慢,甚至微软也不推荐在服务器端使用 Interop。有关详细信息,请参阅 Microsoft 在 why not to use OLE Automation 上所说的内容。【参考方案2】:您不需要数据库。您可以使用OpenXML 在 C# 中导入您的数据。
您可能会发现很多关于如何使用 OpenXML 导入数据的示例,这只是其中之一:From Excel to DataTable in C# with Open XML
您还可以使用其他开源 Excel 库。 OpenXML 来自 Microsoft,专为处理 Excel 文件而构建。
【讨论】:
以上是关于如何将包含数百张工作表的 excel 文件导入数据库以在 C# 项目中使用?的主要内容,如果未能解决你的问题,请参考以下文章