|
将DW数据窗口导出为EXCEL文件的方法(整理)(16) // [PUBLIC] Function uf_data2excel 在 u_data2Word inherited from nonvisualobject //-------------------------------------------------------------------- // 说明:将数据倒入excel中,支持计算列及显示格式,要求在题头的计算列要写tag值 //-------------------------------------------------------------------- // 参数1:[value] datawindow adw // 说明:数据窗口 //-------------------------------------------------------------------- // 返回: (INTEGER) 成功返回1,不成功返回0 //-------------------------------------------------------------------- // 作者: cwl 日期: 2002.03.18 //==================================================================== //变更日志:020515加入对交叉表倒出的支持(主要是修改了保存题头部分) constant integer ppLayoutBlank = 12 OLEObject ole_object ole_object = CREATE OLEObject integer li_ret,li_crosstab=0 long ll_colnum,ll_rownum string ls_value string ls_objects,ls_obj,ls_objs[],ls_objtag[] long ll_pos,ll_len,ll_num = 0 //题头区 long ll_headnum string ls_head[],ls_headtag[] //合计区 long ll_sumnum,i=1,startpos=1,endpos,li_pos string ls_sum[],ls_sumtag[],ls_bind,token[],list,ls_temp,ls_crosstabcol n_cst_string lu_string //PFC string处理对象 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 0 end if ole_object.Visible = false//不可见 END IF if adw.Object.DataWindow.Processing='4' then //交叉表处理 adw.Object.DataWindow.Crosstab.StaticMode='true'//将数据静态化 li_crosstab=1 end if pointer oldpointer oldpointer = SetPointer(HourGlass!) //新增一个工作区 ole_object.Workbooks.Add ls_objects = trim(adw.Describe('datawindow.Objects'))
|