在asp.net中通过文件上传将Excel工作表导入SQL Server
我正在设计一个需求,该需求将为用户提供一个asp.net上载控件,以上载excel文件(xls/xlsx/任何高级格式),并使用自定义列映射将此excel数据加载到SQL server 2008数据表 在互联网上,我发现许多博客使用Jet OLEDB provider实现了这一功能,但这一功能有一些限制,如下所示-在asp.net中通过文件上传将Excel工作表导入SQL Server,asp.net,sql,sql-server,excel,ssis,Asp.net,Sql,Sql Server,Excel,Ssis,我正在设计一个需求,该需求将为用户提供一个asp.net上载控件,以上载excel文件(xls/xlsx/任何高级格式),并使用自定义列映射将此excel数据加载到SQL server 2008数据表 在互联网上,我发现许多博客使用Jet OLEDB provider实现了这一功能,但这一功能有一些限制,如下所示- 在表中的前几行之后,数据将被截断-Reasone is Jet提供程序将检查最初的几行,以确定数据类型及其大小。我找到的解决方案是转到注册表并更改“TypeGuessRows”的值。
要在不丢失任何数据和unicode字符的情况下将大量数据密集型Excel导入数据库,实现将Excel导入SQL Server 2008的最佳方法是什么??该解决方案应与Excel 2003/2007/2010/2013兼容。上传后,我使用此库导入xlsx文件 这有用吗?你可以帮你
嗨,Nagraj,谢谢你的链接,但是我没有将图像导入数据库谢谢Nickand,我正在使用类似于此的ClosedXML库,但是我仍然怀疑这是否适用于我所指出的上述问题。我使用基本场景进行了测试,但效果不佳。您对这个库的体验如何?我查看了Closedxml,不需要excel编写器,所以决定使用exceldatareader。它能很好地处理这项工作,定期导入大约200000行,但还没有尝试使用unicode字符。可以放入数据集或处理每一行。
Workbook workbook = new Workbook();
workbook.LoadFromFile(@"..\..\parts.xls",ExcelVersion.Version97to2003);
//Initialize worksheet
Worksheet sheet = workbook.Worksheets[0];
DataTable dataTable = sheet.ExportDataTable();