欢迎访问!

linwdm2002 2004-11-17 12:25:50
(一)在从Datawindow到EXCEL过程中
1.报表表头怎样导入到EXCEL中
2.DETAIL中的数据怎样导入到EXCEL中
3.当head中字段该为中文以后还可以对数据窗口进行select,update,insert吗?
//////////看怎么修改,才能实现一面的功能
string ls_filename,ls_filepath
GetFileSaveName("请选择保存路径",ls_filepath,ls_filename,"xls","Excel Files (*.xls),*.xls")
long numcols , numrows , c, r
OLEObject xlapp , xlsub
int ret
numcols = long(dw_1.Object.DataWindow.Column.Count)
numrows = dw_1.RowCount()
xlApp = Create OLEObject
ret = xlApp.ConnectToNewObject( "Excel.Sheet" )
if ret < 0 then
MessageBox("Connect to Excel Failed !",string(ret))
return
end if
try
xlsub = xlApp.Application.Workbooks.Add()
xlsub = xlapp.Application.ActiveWorkbook.Worksheets[1]
xlApp.Application.Visible = true
string ls_name
for c=1 to numcols //写标题
ls_name = dw_1.describe( "#" + string(c) + ".name" )
xlsub.cells[1,c] = ls_name
next
for r = 1 to numrows//写数据
for c = 1 to numcols
xlsub.cells[r+1,c] = dw_1.object.data[r,c]
next
next
xlsub.saveas(ls_filepath)
xlApp.Application.Workbooks.close()
catch ( runtimeerror re )
MessageBox ( string(re.number), re.getmessage())
end try
xlApp.DisConnectObject()
Destroy xlapp
(二)怎么把EXCEL中的数据导入到DATAWINDOW中(下面的实现不了的)
string str_savename,named,s_grxh
int excelok,li_net
long li_count,i


oleobject excelserver
excelserver=create oleobject
excelok=excelserver.connecttonewobject("excel.application")

//检查返回值,以确保已成功地连接到了Excel
if excelok <> 0 then
messagebox("信息提示","连接EXCEL失败,请检查计算机中是否安装了EXCEL!")
return -1
end if
li_net = GetFileOpenName("选择文件", str_savename,named,"xls","Excel文件(*.xls),*.xls")
if li_net > 0 then
if str_savename = "" then return -1
dw.settransobject(sqlca)
dw.reset()
excelserver.workbooks.open(str_savename)
excelserver.activesheet.cells.copy
li_count = dw.importclipboard(2) //导入数据
clipboard("")

excelserver.quit()
excelserver.disconnectobject()
destroy excelserver
return 1
else
messagebox('信息提示','没有指定导入文件!')
return -1
end if
...全文
148 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2004-12-01
  • 打赏
  • 举报
回复
balloonman2002 2004-11-18
  • 打赏
  • 举报
回复
到 http://community.csdn.net/Expert/FAQ/List_Room_FAQ_Index.asp?bigclassid=58

中搜索“exc”
davorsuker39 2004-11-18
  • 打赏
  • 举报
回复
UP
TGWall 2004-11-18
  • 打赏
  • 举报
回复
我还以为是激动人心的网站开通了呢?:)
balloonman2002 2004-11-17
  • 打赏
  • 举报
回复
下班,UP
workhand 2004-11-17
  • 打赏
  • 举报
回复
if li_net > 0 then
if str_savename = "" then return -1
dw.settransobject(sqlca)
dw.reset()
excelserver.workbooks.open(str_savename)
excelserver.activesheet.cells.copy
li_count = dw.importclipboard(2) //导入数据
clipboard("")

excelserver.quit()
excelserver.disconnectobject()
destroy excelserver
return 1


这里需要循环取每一个cell,然后setitem到dw的列上,此时dw可能每一行都要insertrow,如果要保存数据还要求dw有update属性
zhdCSDN 2004-11-17
  • 打赏
  • 举报
回复
楼主的“(一)在从Datawindow到EXCEL过程中”问题不知解决没有,如果没有可以试一下IIF16.ocx控件
第二个问题不会,期待大虾解决。帮楼主顶一下

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧