Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在asp.net中通过文件上传将Excel工作表导入SQL Server_Asp.net_Sql_Sql Server_Excel_Ssis - Fatal编程技术网

在asp.net中通过文件上传将Excel工作表导入SQL Server

在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”的值。

我正在设计一个需求,该需求将为用户提供一个asp.net上载控件,以上载excel文件(xls/xlsx/任何高级格式),并使用自定义列映射将此excel数据加载到SQL server 2008数据表

在互联网上,我发现许多博客使用Jet OLEDB provider实现了这一功能,但这一功能有一些限制,如下所示-

  • 在表中的前几行之后,数据将被截断-Reasone is Jet提供程序将检查最初的几行,以确定数据类型及其大小。我找到的解决方案是转到注册表并更改“TypeGuessRows”的值。我的问题是-对于asp.net应用程序,在web服务器上这样做是否明智

  • 无法正确导入Unicode字符-此问题可以通过将连接字符串更改为按链接添加“CharacterSet=65001;”来解决

  • 同样的问题是,这是否是一个明智和充分证明的解决方案


    要在不丢失任何数据和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();