最近对于xls导入到数据库的操作比较多,遇到了些问题就此总结下:
1、表格导入数据库核心代码 (参考网址:http://blog.sina.com.cn/s/blog_5f0dab1e0100oc85.html)
asp.net前端代码
asp.net后端代码
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strFileName + ";Extended Properties='Excel 8.0;HDR=No;IMEX=1'";
这条语句上,要注意这个连接词中的空格部分如:Data Source ;Extended Properties 等,这些中都含有一个空格符且不能多。同时在Extended Properties中如果出现多个属性时必须如Extended Properties= 一样加上单引号
参数说明:
Microsoft Jet 提供程序用于连接到 Excel 工作簿。在以下连接字符串中,Extended Properties 关键
字设置 Excel 特定的属性。“HDR=Yes;”指示第一行中包含列名,而不是数据,“IMEX=1;”通知驱动程
序始终将“互混”数据列作为文本读取。注意
http://msdn2.microsoft.com/zh-cn/library/ms254978.aspx
默认情况下,系统认为 Excel 数据源的第一行包含可用作字段名的列标题。如果不是这种情况,则必须将该设置关闭,否则,第一行数据将会“消失”,而被用作字段名称。这可通过向连接字符串的扩展属性
添加可选的 HDR= 设置来完成。默认情况下(无需指定)是 HDR=Yes。如果没有列标题,则需要指定
HDR=No;提供程序将字段命名为 F1、F2 等等。因为扩展属性字符串现在包含了多个值,所以必须用引号
单独包起来,如下例所示(为便于看清楚,添加了额外的空格)。
如第1个中hdr=no的话,where时就会报错