我用pb10+oracle,用如下的代码导入excel文件:
String ls_FileName
string hs
string ls_rq
string str_savename,named
int excelok,li_net
oleobject excelserver
excelserver=create oleobject
excelok=excelserver.connecttonewobject("excel.application")
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)
clipboard("")
excelserver.quit()
excelserver.disconnectobject()
destroy excelserver
end if
dw_1.update()
commit;
select count(*) into :hs from nh1;
if sqlca.sqlcode = 0 then MessageBox('提示','导入数据' + hs +'行',Question!,YesNo!,1)
现在有一个问题随机的出现,就是导入数据不是按照excel原来的行号导入。
比如:
1 A
2 B
3 C
导入后可能变成
1 A
3 C
2 B
有的时候还不变,还是原来的顺序,没有什么规律。我想一直就按照excel的顺序导入,请问有办法么?
------解决思路----------------------
dw_1.setsort("#1 a, #2 d")就可以按列排序了,其中#1、#2分别为1、2列,A为升序,D为降序
------解决思路----------------------
是这样的,如果你导入的excel没有序号,也可以生下序号,然后再导入..