如何在sql中读取超过400 meg excel

时间:2014-07-03 18:34:15

标签: c# sql sql-server excel

如何将该Excel文件导入SQL Server?我有超过400兆的Excel文件,有两张。

我想知道,如果有什么方法我可以用块读取它/解析它到csv然后导入。我需要知道是否可以在不使用oledb或openxml或任何其他类型的自动化工具的情况下完成。

我已经检查了openxml的选项,并尝试将其发送到SQL Server但没有获得足够的运气,我尝试了oledb,但似乎oledb有其自身的局限性。

由于

2 个答案:

答案 0 :(得分:2)

如果安装了sql server集成服务或数据工具,则可以使用Sql Server向导“导入和导出数据”。在那里,您选择“Excel文件”作为源,将数据库选择为目标,然后您可以定义表和列映射,包括必要的数据转换。您还可以定义导入前和导入后的sql命令(例如,删除和(重新)创建要将数据导入的表...或者只是清空表格。)

只要定义了整个导入,就可以保存所谓的SSIS(Sql Server集成服务) - 将数据包打包到数据库中或打包到解决方案中的文件中。可以使用“Sql Server Integration Services包”打开* .dtsx文件 执行实用程序“自动运行导入。

因此,您可以在构建过程中的某个时间运行导入,甚至可以在后台进程中启动它。只需确保将excel文件放在已定义导入源的位置。

如果您有Visual Studio 12及更高版本,则应自动安装Sql Server数据工具。有了这些,您可以随时在Visual Studio中打开* .dtsx文件并修改导入行为。我最近才复制了这样的.dtsx文件,因为我需要将一个excel文件导入到4个不同的临时数据库中,因此对于每个数据库,我只修改了.dtsx文件的数据库连接凭证的相应副本。

答案 1 :(得分:0)

我建议看一下python + pandas - pandas有一种方法可以将excel读入pandas数据帧read_exel(),并写入你的sql数据库,{ {3}}