ABAP 生成word文档

1.创建模板

通过开发工具->空间->格式文本为word添加变量

选中要设为变量的文本,点击格式文本,然后在属性页签设置变量名

模板使用示例参考ZABAPDOCX包下的模板

2. 代码生成

参考ZABAPDOCX包下示例程序,可直接执行下载word文档

如果需要做格式转换,建议借助OLE或者其它工具进行格式转换

如下示例为OLE方式转换为PDF文件

复制代码
DATA: lv_wordapp  TYPE ole2_object,

      lv_worddoc  TYPE ole2_object,

      lv_wordadoc TYPE ole2_object,

      lv_wordcont TYPE c LENGTH 8,

      lv_path     TYPE string VALUE 'C:\Users\X\Desktop\DOXC.docx',

      lv_path1    TYPE string VALUE 'C:\Users\X\Desktop\DOXC.pdf'.



CREATE OBJECT lv_wordapp 'WORD.APPLICATION'.

PERFORM errorhandler.

SET PROPERTY OF lv_wordapp 'Visible' = 0.

CALL METHOD OF lv_wordapp 'Documents' = lv_worddoc.

PERFORM errorhandler.

CALL METHOD OF lv_worddoc 'Open'

  EXPORTING

    #1 = lv_path.

PERFORM errorhandler.

CALL METHOD OF lv_wordapp 'ActiveDocument' = lv_wordadoc.

PERFORM errorhandler.

CALL METHOD OF lv_wordadoc 'Content' = lv_wordcont.

PERFORM errorhandler.

CALL METHOD OF lv_wordadoc 'SaveAs'

  EXPORTING

    #1 = lv_path1

    #2 = 17.

PERFORM errorhandler.

CALL METHOD OF lv_wordapp 'Quit'.

FREE OBJECT lv_wordapp .

 

FORM errorhandler.

  IF sy-subrc <> 0.

    WRITE: / 'OLE- Error:', sy-subrc.

    CALL METHOD OF lv_wordapp 'Quit'.

    FREE OBJECT lv_wordapp.

    STOP.

  ENDIF.

ENDFORM.
3. 适用场景

需要下载word文档以供打印签字或者查看

简单文件的输出,对于下载后不需要数据处理的文件来说,更优于excel文件的生成

附ZABAPDOCX包地址:

GGitHub - AntonSikidin/zcl_docx: Best way to create Microsoft Word docx from abap

相关推荐
缺点内向1 天前
C#: 告别繁琐!轻松移除Word文档中的文本与图片水印
c#·自动化·word·.net
徐小夕@趣谈前端1 天前
拒绝重复造轮子?我们偏偏花365天,用Vue3写了款AI协同的Word编辑器
人工智能·编辑器·word
kingwebo'sZone1 天前
C#使用Aspose.Words把 word转成图片
前端·c#·word
科技D人生1 天前
Vue.js 学习总结(20)—— Vue-Office 实战:word、pdf、excel、ppt 多种文档的在线预览
vue.js·word·vue-pdf·stylesheet·docx-preview·vue-office
Seele_10182 天前
RAP - 报表示例
sap·abap
weixin_416660072 天前
技术分析:豆包生成带公式文案导出Word乱码的底层机理
人工智能·word·豆包
骆驼爱记录2 天前
Word样式库不显示的8种修复方法
word·wps·新人首发
苍煜2 天前
超简单 poi-tl 学习博客:从0到1掌握Word生成(无需模板+模板填充)
学习·word
请为小H留灯2 天前
Word论文 封面、目录、页码设置步骤!(2026详细版教程)
毕业设计·word·论文格式
星尘库3 天前
在word中怎么把段落回车替换成空 删除空行
word