数据从excel导入数据库时,会导入空值怎么办?
excel导入数据库时,会导入空值。
只要excel数据行下面的空行,做过改动(如只改变行高,但没有数据)也会被导入数据库
请高手指点!
string str_savename,named
int excelok,li_net
oleobject excelserver
excelserver=create oleobject
excelok=excelserver.connecttonewobject("excel.application")
//检查返回值,以确保已成功地连接到了Excel
if excelok <> 0 then
messagebox("信息提示","连接EXCEL失败,请检查计算机中是否安装了EXCEL!")
return
end if
li_net = GetFileOpenName("选择文件", str_savename,named,"xls","Excel文件(*.xls),*.xls")
if li_net > 0 then
if str_savename = "" then return
excelserver.workbooks.open(str_savename)
excelserver.activesheet.cells.copy
dw_1.importclipboard(2) //导入数据 dw_1是数据窗口名字,改成你的名字
clipboard("")
excelserver.quit()
excelserver.disconnectobject()
destroy excelserver
end if
if dw_1.update()=1 then
commit;
end if
[解决办法]
你把数据库表所有字段军改成varchar类型,导入绝对没问题。如何不想改得化建议你不要从pb中导入,excel直接导入数据库就完了。。
[解决办法]
判断有效行数可以避免导入空行
如:取无效行(空行)第1个字段,第2个字段等内容(根据实际情况而定),如果为空或=‘’,就可判断为从这行开始是无效行,剩下的加减法,你懂得。