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

相关推荐
wh39331 天前
使用Python将PDF转换成word、PPT
python·pdf·word
bu_shuo3 天前
word表格中使用公式
word·表格
不坑老师3 天前
利用不坑盒子的Copilot,快速排值班表
microsoft·word·powerpoint·excel·copilot·wps
LilySesy3 天前
ABAP+&SFSY-FORMPAGES&变成星号
经验分享·sap·abap·erp系统·smartforms
开开心心就好3 天前
批量PDF转换工具,一键转换Word Excel
开发语言·前端·学习·pdf·电脑·word·excel
RainSerein4 天前
Laravel8中使用phpword生成word文档
word·php·laravel
qq_393828224 天前
办公文档批量打印器 Word、PPT、Excel、PDF、图片和文本,它都支持批量打印。
windows·word·powerpoint·excel·软件需求
_oP_i13 天前
实现 “WebView2 获取word选中内容
开发语言·c#·word
LENG_Lingliang14 天前
word出现由WPS切换后公式异常无法删除的情况处理
word·wps·mathtype
贤和兄14 天前
使用docx4j 实现word转pdf(linux乱码处理)
linux·pdf·word