控制多个datawindow数据合并成一个excel导出【PB】
2014-02-14 11:44
465 查看
最近项目需要,需要把多个datawindow的数据合并成一个excel导出。本地项目没有其他代码借鉴,自己接触PB顶多3个月时间,而网上关于PB的消息少之又少。前些日子在powerbuilder论坛发个帖子求组,幸运得到powerbuilder版主和一位热心网友提示,通过自己不断地coding and debug, 我想要的效果终于得到了,:-)
现在我把源码贡献出来,大家一起学习,欢迎和我交流。
现在我把源码贡献出来,大家一起学习,欢迎和我交流。
string ls_path, ls_file double ll_len_path, ll_len_file int li_rc Long j if dw_preview.RowCount() > 0 then li_rc = GetFileSaveName ( "Select File", ls_path, ls_file, "XLS", "Excel Files (*.XLS), *.XLS,All Files (*.*)" , "", 32770) //get the filename from user ll_len_file=LastPos(ls_file,'.') if li_rc = 1 then OLEObject l_oleobject_excel l_oleobject_excel = CREATE OLEObject l_oleobject_excel.ConnectToNewObject('excel.application') l_oleobject_excel.Visible = False //rename l_oleobject_excel.Workbooks.add() ls_file=left(ls_file, long(ll_len_file)-1)+'_1' l_oleobject_excel.workbooks(1).worksheets(1).name = ls_file ls_file=left(ls_file, long(ll_len_file)-1)+'_2' l_oleobject_excel.workbooks(1).worksheets(2).name = ls_file ls_file=left(ls_file, long(ll_len_file)-1)+'_3' l_oleobject_excel.workbooks(1).worksheets(3).name = ls_file //insert data from dw to sheet1 for j=1 to dw_saveas_sku_alias.rowcount() //header l_oleobject_excel.workbooks(1).worksheets(1).cells(j,1).value = 'sku' l_oleobject_excel.workbooks(1).worksheets(1).cells(j,2).value = 'alias' l_oleobject_excel.workbooks(1).worksheets(1).cells(j,3).value = 'desc' l_oleobject_excel.workbooks(1).worksheets(1).cells(j,4).value = 'default_alias' l_oleobject_excel.workbooks(1).worksheets(1).cells(j,5).value = 'pack_wt' l_oleobject_excel.workbooks(1).worksheets(1).cells(j,6).value = 'net_wt' //detail l_oleobject_excel.workbooks(1).worksheets(1).cells(j+1,1).value = dw_saveas_sku_alias.object.sku_alias_sku[j] l_oleobject_excel.workbooks(1).worksheets(1).cells(j+1,2).value = dw_saveas_sku_alias.object.sku_alias_sku_alias[j] l_oleobject_excel.workbooks(1).worksheets(1).cells(j+1,3).value = dw_saveas_sku_alias.object.sku_alias_alias_desc[j] l_oleobject_excel.workbooks(1).worksheets(1).cells(j+1,4).value = dw_saveas_sku_alias.object.sku_alias_default_alias[j] l_oleobject_excel.workbooks(1).worksheets(1).cells(j+1,5).value = dw_saveas_sku_alias.object.sku_alias_pack_wt[j] l_oleobject_excel.workbooks(1).worksheets(1).cells(j+1,6).value = dw_saveas_sku_alias.object.sku_alias_net_wt[j] next //insert data from dw to sheet2 for j=1 to dw_saveas_sku_alias.rowcount() //header l_oleobject_excel.workbooks(1).worksheets(2).cells(j,1).value = 'sku' l_oleobject_excel.workbooks(1).worksheets(2).cells(j,2).value = 'alias' l_oleobject_excel.workbooks(1).worksheets(2).cells(j,3).value = 'desc' l_oleobject_excel.workbooks(1).worksheets(2).cells(j,4).value = 'default_alias' l_oleobject_excel.workbooks(1).worksheets(2).cells(j,5).value = 'pack_wt' l_oleobject_excel.workbooks(1).worksheets(2).cells(j,6).value = 'net_wt' //detail l_oleobject_excel.workbooks(1).worksheets(2).cells(j+1,1).value = dw_saveas_sku_alias.object.sku_alias_sku[j] l_oleobject_excel.workbooks(1).worksheets(2).cells(j+1,2).value = dw_saveas_sku_alias.object.sku_alias_sku_alias[j] l_oleobject_excel.workbooks(1).worksheets(2).cells(j+1,3).value = dw_saveas_sku_alias.object.sku_alias_alias_desc[j] l_oleobject_excel.workbooks(1).worksheets(2).cells(j+1,4).value = dw_saveas_sku_alias.object.sku_alias_default_alias[j] l_oleobject_excel.workbooks(1).worksheets(2).cells(j+1,5).value = dw_saveas_sku_alias.object.sku_alias_pack_wt[j] l_oleobject_excel.workbooks(1).worksheets(2).cells(j+1,6).value = dw_saveas_sku_alias.object.sku_alias_net_wt[j] next //insert data from dw to sheet3 for j=1 to dw_saveas_sku_alias.rowcount() //header l_oleobject_excel.workbooks(1).worksheets(3).cells(j,1).value = 'sku' l_oleobject_excel.workbooks(1).worksheets(3).cells(j,2).value = 'alias' l_oleobject_excel.workbooks(1).worksheets(3).cells(j,3).value = 'desc' l_oleobject_excel.workbooks(1).worksheets(3).cells(j,4).value = 'default_alias' l_oleobject_excel.workbooks(1).worksheets(3).cells(j,5).value = 'pack_wt' l_oleobject_excel.workbooks(1).worksheets(3).cells(j,6).value = 'net_wt' //detail l_oleobject_excel.workbooks(1).worksheets(3).cells(j+1,1).value = dw_saveas_sku_alias.object.sku_alias_sku[j] l_oleobject_excel.workbooks(1).worksheets(3).cells(j+1,2).value = dw_saveas_sku_alias.object.sku_alias_sku_alias[j] l_oleobject_excel.workbooks(1).worksheets(3).cells(j+1,3).value = dw_saveas_sku_alias.object.sku_alias_alias_desc[j] l_oleobject_excel.workbooks(1).worksheets(3).cells(j+1,4).value = dw_saveas_sku_alias.object.sku_alias_default_alias[j] l_oleobject_excel.workbooks(1).worksheets(3).cells(j+1,5).value = dw_saveas_sku_alias.object.sku_alias_pack_wt[j] l_oleobject_excel.workbooks(1).worksheets(3).cells(j+1,6).value = dw_saveas_sku_alias.object.sku_alias_net_wt[j] next //save as excel l_oleobject_excel.ActiveWorkbook.SaveAs(ls_path) l_oleobject_excel.Application.DisplayAlerts = False l_oleobject_excel.workbooks.Close() l_oleobject_excel.Quit l_oleobject_excel.DisconnectObject ( ) DESTROY l_oleobject_excel end if end if
相关文章推荐
- 控制多个datawindow数据合并成一个excel导出【PB】
- pb将datawindow数据导出EXCEL
- 将datawindow中的指定列的数据导出的一个函数
- PB 数据窗口导出PDF,同一个数据窗口多次调用保存方法,合并到一个PDF中
- SQL大圣之路笔记——把数据库中表里的数据导出成Excel(Copy时,会因分隔符问题导致许多数据存放在一个单元格中)
- 一个将数据导出到EXCEL的存储过程-数据库专栏,SQL Server
- PB中数据窗口导出数据到EXCEL的程序(4)
- PB datawindow 数据窗口字段保存显示超过255个字符,要如何设置?
- PB数据窗口datawindow的查询条件设置和执行
- pb datawindow 控制消息
- PB 中用带参数的 SQL 语句字符串检索数据并动态生成Datawindow
- 在PB中如何控制DATAWINDOW列的修改属性 -- 方法较全
- C# 操作数据导出到Excel遇到的一个小问题
- pb 数据导出到excel
- 导出数据到一个Excel文件中去
- 用node.js写一个简单爬虫,并将数据导出为 excel 文件
- ThinkPHP 整合 PHPExcel ,数据导出功能实现,解决Invalid cell coordinate PHPExcel想必大家都不陌生,是用来操作Office Excel 文档的一个PHP
- PB 数据窗口导出EXCEL报表-个人例子
- PB 数据窗口datawindow中的数据隔行换颜色
- Java利用xml将大批量数据导出到excel的一个方法