通过在asp.net中的file upload,将Excel工作表导入SQL Server

我正在devise的要求,将提供用户上传Excel文件(xls / xlsx /任何高级格式)的asp.net上传控件,并加载这个Excel数据到SQL Server 2008数据表与自定义列映射。

在互联网上,我发现许多博客使用Jet OLEDB提供程序来实现此function,但是对于此function有一些限制,如下所示 –

  1. 数据在表格中的前几行之后被截断 – Reasone是Jet提供程序检查最初的几行来决定数据types和大小。 我发现这个解决scheme是去registry,并更改“TypeGuessRows”的值。 我的问题是 – 这是build议在Web服务器上的情况下,在asp.net应用程序的情况下

  2. Unicode字符无法正确导入 – 此问题可以通过更改连接string来添加“CharacterSet = 65001;”来解决 根据链接UnicodeCharacters

再一个问题是,这是否是可取的和充分certificate的解决scheme。

实现导入Excel到SQL Server 2008的最佳方式是将大量数据密集型excel导入到数据库,而不会丢失任何数据和Unicode字符 该解决scheme应与Excel 2003/2007/2010/2013兼容。

上传后我使用这个库来导入xlsx文件。

https://exceldatareader.codeplex.com/

这有帮助吗?

你可以帮助你。 https://freenetexcel.codeplex.com

Workbook workbook = new Workbook(); workbook.LoadFromFile(@"..\..\parts.xls",ExcelVersion.Version97to2003); //Initialize worksheet Worksheet sheet = workbook.Worksheets[0]; DataTable dataTable = sheet.ExportDataTable();