有没有办法将数据从Excel工作表导入SQL Server数据库?

时间:2017-08-01 13:13:01

标签: c# sql sql-server

有没有办法在不使用批量方法的情况下将数据从Excel工作表导入SQL Server上的数据库?请记住,我正在创建一个Web应用程序,用户将excel文件上传到页面,然后将其导入现有数据库。

批量方法使用OleDbDataReader工作,除了它复制excel表并将其粘贴到数据库而不考虑列名兼容性。我错过了什么吗?

3 个答案:

答案 0 :(得分:6)

如果您正在使用SSMS,请使用SQL导入导出向导。 MSDN

上有足够的文档

从代码中,您可以使用SqlBulkCopy类导入SQL数据库。如果要将批量记录导入Oracle,则可以使用ODP.net OracleBulkCopy。目前仅通过完整的ODP.net提供程序支持Oracle批量复制。托管ODP.net不支持批量操作。

要阅读Excel文件,您可以使用任意数量的库 LinqToExcel, OleDb, closedxml

答案 1 :(得分:0)

查看DocumentFormat.OpenXml.Spreadsheet命名空间:MSDN Link

它将让您查看电子表格的不同部分,因为它存储在OpenXML中。

答案 2 :(得分:0)

您可以使用格式文件和批量插入。格式文件映射表列和文件中的字段。

参考: https://docs.microsoft.com/en-us/sql/relational-databases/import-export/use-a-format-file-to-bulk-import-data-sql-server