当把EXCEL内的数据导入到数据库中的时候经常会遇到数据丢失问题。就这个问题在网上找了很多解决方法,但
都不是很理想。根据这个问题做以下解释和解决方法:
首先:我们最常用的数据导入方法是将EXCEL做为OLEDB数据源,然后把所有数据填充到DATASET中。
数据源连接方式:
string strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+";Extended Properties='Excel 8.0;HDR=YES;IMEX=1;'";
说明:
1. HDR=YES:表示第一行作为字段使用,不做为数据。HDR=NO:表示第一行作为数据使用。
IMEX=0:以EXCEL的前面几行来判断用什么格式显示数据。这样容易造成数据丢失。(系统默认IMEX=0)
IMEX=1:整个EXCEL都作为文本格式显示。
2. 其中数据源连接字符串格式要正确。Extended Properties='Excel 8.0;HDR=YES;IMEX=1;'";这句尤其重要。
其次:在执行过程中有时候会遇到这样一个问题:“找不到可安装的ISAM”
原因:EXCEL通常 使用 ISAM 驱动程序(而非它自己的驱动程序)更新文件格式。如果 Windows 注册表中 ISAM 驱动程 序的路径无效,或者 ISAM 驱动程序不存在,可能会发生此问题。
解决方法:
1。检查数据源连接方式是否正确。
2. 单击“开始”-->“运行”中输入: Regsvr32 c:/windows/system32/msexcl40.dll
注意:DLL 的名称和路径在计算机中可能有些不同,有的位于system32下,有的则是system下,根据正确位置设置命令行。该命 令可注册 Excel ISAM: