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

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

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

如果您正在使用SSMS,请使用SQL导入导出向导。 MSDN上有足够的文档

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

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

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

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

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

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