POWERBUILDER与EXCEL的巧妙结合

Author: 石宝臣 Date: 1998年 第02期 12版

  POWERBUILDER是面向对象的数据库开发工具之一,它可以操纵众多大型数据库和桌面数据库,支持多种硬件平台。但它有一个致命的弱点,就是打印报表非常不方便,打印函数太少,特别是对中国式报表。而EXCEL制表却非常容易,若把两者结合起来使用则会取长补短。本人通过实践,顺利地把两者结合起来。
  首先用POWERBUILDER制作一窗口w_excel,然后在窗口中建立一个数据窗口dw_excel和三个按钮cb_saveas、cb_start、cb_print。同时编写脚本为:
  1.cb_saveas的脚本为:
  saveas(w_excel.dw_excel,″c:\jycf\ xmk.xls″,excel!,true)
  2.cb_start的脚本为:
  run(″c:\program files\microsoft office\office\excel.exe xmk.xls″,maximized!)
  3.cb_print的脚本为:
  long handle_1
  handle_1=openchannel(″excel″,″xmk.xls″) ′建立与EXCEL的通道
  setremote(″r2c1″,″序号″,″excel″,″xmk.xls″)
  setremote(″r2c2″,″摘要″,″excel″,″xmk.xls″)
  setremote(″r2c3″,″收入″,″excel″,″xmk.xls″)
  setremote(″r2c4″,″支出″,″excel″,″xmk.xls″)
  setremote(″r2c5″,″余额″,″excel″,″xmk.xls″)
  setremote(″r2c6″,″日期″,″excel″,″xmk.xls″)
  ′更改某一行或某一列的值,同时关闭通道
  closechannel(handle_1,handle(w_excel))
  string str_print
  str_print=″[print()]″
  execremote(str_print,″excel″,″xmk.xls″)
  这样一来,就把两者有机地结合起来。