我们使用OLE导出Excel的时候,一般会将Excel模板文件原样下载到本地再进行单元格的填充,与此种方式不同,XLSX Workbench是按Open XML规范重新生成Excel文件,如果Excel中有logo图片,是无法自动随Excel一起导出的。需要将图片对象与相应节点绑定才可以正常导出。
1、Excel中插入图片
在Excel中插入一张图片,调节好图片尺寸位置。
创建图片节点
选中图片所在单元格区域
将图片节点与图片绑定
保存激活
2、SAP服务器中的图片
如果需要将SE78中的图片显示到Excel中的指定位置,可以用以下方式,此例继续使用新建的DRAWING_1节点。
保存激活
关键代码:
CALL METHOD cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp
EXPORTING
p_object = 'GRAPHICS'
p_name = 'HRBR_GPS_LOGO'
p_id = 'BMAP'
p_btype = 'BCOL'
RECEIVING
p_bmp = gs_head-logo
EXCEPTIONS
not_found = 1
internal_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
ENDIF.
效果图:
3、二维码
生成二维码的方式比较多,Microsoft Office Excel有自带的二维码生成工具,但是不支持中文;第三方生成二维码的网站;SAP二维码插件。
关键代码
CONSTANTS: gc_barcode TYPE tdbarcode VALUE 'ZWMDY'.
DATA: lv_barcdata(80) TYPE c,
lv_lifnr TYPE lfa1-lifnr.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = gs_head-lifnr
IMPORTING
output = lv_lifnr.
lv_barcdata = gs_head-ebeln && ',' && lv_lifnr. " 二维码内容
gs_head-qrcode = zcl_doc_flow=>get_barcode( barcode = gc_barcode
barcdata = lv_barcdata ).
感谢原作者提供的XLSX Workbench开源工具
转载请注明出处 !
如有疏漏之处,还请不吝赐教!