当前位置: 代码迷 >> PB >> 分列写入EXCL工作表。该怎么处理
  详细解决方案

分列写入EXCL工作表。该怎么处理

热度:73   发布时间:2016-04-29 09:40:48.0
分列写入EXCL工作表。
我想把表中的数据,一条一条的读出来,再写到EXCL工作表中,不想用DW!请高手指教,谢谢!

------解决方案--------------------
给你以段代码看看就明白了 ,用 datastore就可以 
string ls_xyno,ls_sql
integer li_ret,i
datastore ds_1
OLEObject ole_object
ls_xyno =dw_1.object.xyno[ii]
ole_object = CREATE OLEObject
li_ret = ole_object.ConnectToObject("","Excel.Application")
IF li_ret <> 0 THEN
// 如果Excel还没有打开,则新建
li_ret = ole_object.ConnectToNewObject("Excel.Application")
if li_ret <> 0 then
MessageBox('OLE错误','OLE无法连接!错误号:' + string(li_ret))
return -1
end if
ole_object.Visible =true
END IF
pointer oldpointer
oldpointer = SetPointer(HourGlass!)
ole_object.Workbooks.Add 
ls_sql = " select bxgsno,paytype,paytypems,fhdate,yunname,invno,country,tbamt,hcode,useridl from xinyong ,cdcurr where xinyong.curr = cdcurr.curr and xyno = '"+ls_xyno+"'"
if f_crdst(ls_sql,ds_1) <> 1 then
messagebox("提示","创建datastore失败请重试!!")
destroy ds_1
ole_object.disconnectobject()
DESTROY ole_object
return
else
for i = 1 to ds_1.rowcount()
ole_object.cells(i + 5,1).value = i
ole_object.cells(i +5,5).value = ds_1.object.xinyong_bxgsno[i]
ole_object.cells(i +5,6).value = ds_1.object.xinyong_paytype[i]
ole_object.cells(i +5,7).value = ds_1.object.xinyong_paytypems[i]
ole_object.cells(i +5,9).value = ds_1.object.xinyong_fhdate[i]
ole_object.cells(i +5,10).value =ds_1.object.xinyong_yunname[i]
ole_object.cells(i +5,13).value = ds_1.object.xinyong_invno[i] 
ole_object.cells(i +5,14).value = ds_1.object.xinyong_country[i]
ole_object.cells(i +5,15).value = ds_1.object.xinyong_tbamt[i]
ole_object.cells(i +5,16).value = ds_1.object.xinyong_hcode[i]
ole_object.cells(i +5,17).value = ds_1.object.xinyong_useridl[i]
next
end if 
destroy ds_1
ole_object.disconnectobject()
DESTROY ole_object
return