datawindow导出到word

CONSTANT INTEGER ppLayoutBlank = 12
OLEObject ole_object
ole_object = CREATE OLEObject
// 连接Word
IF ole_object.ConnectToNewObject("Word.Application") <> 0 THEN
MessageBox('系统提示!','OLE错误,OLE无法连接!')
RETURN
END IF

ole_object.Visible = TRUE

LONG Ll_ColNum,Ll_RowNum
CONSTANT LONG wdWord9TableBehavior = 1
CONSTANT LONG wdAutoFitFixed = 0
CONSTANT LONG wdCell = 12
STRING Ls_Value
// 得到数据窗口数据的列总数与行总数(行总数是数据行数 + 1(标题))
Ll_ColNum = LONG(dw_1.object.datawindow.column.count)
Ll_RowNum = dw_1.RowCount() + 1

ole_object.Documents.Add()
ole_object.ActiveDocument.Tables.Add(ole_object.Selection.Range, Ll_RowNum, Ll_ColNum)

STRING Ls_ColName
INTEGER i,j
FOR i = 1 TO Ll_ColNum
// 得到列标题头的名字
Ls_ColName = dw_1.Describe('#' + STRING(i) + ".name") + "_t"
   Ls_value   = dw_1.Describe(Ls_ColName + ".text")
ole_object.Selection.TypeText(TRIM(Ls_Value))
ole_object.Selection.MoveRight(wdCell)
NEXT

dw_1.SetRedraw(FALSE)
ole_object.Selection.MoveLeft(wdCell)
FOR i = 2 TO Ll_RowNum
FOR j = 1 TO Ll_ColNum
   dw_1.ScrollToRow(i - 1)
   dw_1.SetColumn(j)
   Ls_Value = dw_1.GetText()
   ole_object.Selection.MoveRight(wdCell)
   ole_object.Selection.TypeText(ls_value)
NEXT
NEXT
dw_1.SetRedraw(TRUE)

CONSTANT LONG wdFormatDocument = 0
// 保存新建的文档
String ls_Directory
ls_Directory = getcurrentDirectory()
ls_Directory = ls_Directory + "\DATA"
ole_object.ActiveDocument.SaveAs(ls_Directory + "\myword.doc", 0,FALSE,"",TRUE,"",FALSE,FALSE,FALSE,FALSE,FALSE)

// 断开OLE连接
Ole_Object.DisConnectObject()
DESTROY Ole_Object

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值