当前位置: 代码迷 >> PB >> 从excel导入数据后不依照原来的行号排序
  详细解决方案

从excel导入数据后不依照原来的行号排序

热度:206   发布时间:2016-04-29 05:23:01.0
从excel导入数据后不按照原来的行号排序
我用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为降序
------解决思路----------------------
引用:
dw_1.setsort("#1 a,  #2 d")就可以按列排序了,其中#1、#2分别为1、2列,A为升序,D为降序


引用:
dw_1.setsort("#1 a,  #2 d")就可以按列排序了,其中#1、#2分别为1、2列,A为升序,D为降序

是这样的,如果你导入的excel没有序号,也可以生下序号,然后再导入..
  相关解决方案