有没有办法在不使用批量方法的情况下将数据从Excel工作表导入SQL Server上的数据库?请记住,我正在创建一个Web应用程序,用户将excel文件上传到页面,然后将其导入现有数据库。
批量方法使用OleDbDataReader工作,除了它复制excel表并将其粘贴到数据库而不考虑列名兼容性。我错过了什么吗?
答案 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)
您可以使用格式文件和批量插入。格式文件映射表列和文件中的字段。