我正在设计一个需求,它将为用户提供一个asp.net上传控件来上传excel文件(xls / xlsx /任何高级格式),并使用自定义列映射将此excel数据加载到SQL Server 2008数据表。
在互联网上我发现许多博客使用Jet OLEDB提供程序来实现此功能,但此功能有一些限制,如下所示 -
在表格中的前几行之后数据被截断 - Reasone是Jet提供商检查最初几行以决定数据类型及其大小。我找到的解决方案是转到注册表并更改“TypeGuessRows”的值。我的问题是 - 在asp.net应用程序的情况下,这是否可以在Web服务器上执行此操作
无法正确导入Unicode字符 - 可以通过更改连接字符串以添加“CharacterSet = 65001;”来解决此问题根据链接UnicodeCharacters
再次提出的问题是,这是否可行且是完全可靠的解决方案。
将Excel导入SQL Server 2008以将大量数据密集型Excel导入数据库而不丢失任何数据和unicode字符的最佳方法是什么?该解决方案应与Excel 2003/2007/2010/2013兼容。
答案 0 :(得分:2)
答案 1 :(得分:0)
你可以帮助你。 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();