当前位置: 首页 > ds >正文

ABAP OLE

1、业务需求

用户在报表中点击导出按钮,将销售发票有关信息填充至模板中的SHEET1以及SHEET2中

2、代码实现

  DATA: gs_excel       TYPE ole2_object,gs_sheet1      TYPE ole2_object,gs_sheet2      TYPE ole2_object,gs_wbooklist   TYPE ole2_object,gs_wbook       TYPE ole2_object,gs_cell1       TYPE ole2_object,gs_cell2       TYPE ole2_object,gs_cells       TYPE ole2_object.DATA: lv_paste(8022) TYPE c,lt_paste       LIKE TABLE OF lv_paste.DATA gv_sheet_name(20) TYPE c .DATA gv_intex(2) TYPE c .DATA gv_line_cntr TYPE i .DATA : lv_row(5) TYPE c .DATA: lv_filename TYPE string,lv_path     TYPE string,lv_fullpath TYPE string,lv_path2    TYPE localfile.DATA(lv_fild_name) = '批量开票-导入开票模板' && sy-datum && sy-uzeit && '.xlsx' .
* 选择导出路径CALL METHOD cl_gui_frontend_services=>file_save_dialogEXPORTINGwindow_title         = 'SAVE'default_file_name    = lv_fild_namefile_filter          = 'xlsx 文件|*.xlsx|'CHANGINGfilename             = lv_filenamepath                 = lv_pathfullpath             = lv_fullpathEXCEPTIONScntl_error           = 1error_no_gui         = 2not_supported_by_gui = 3OTHERS               = 4.DATA: ls_wwwdata TYPE wwwdatatab,lv_message TYPE string.DATA: lv_subrc TYPE sy-subrc.lv_path2 = lv_fullpath ." 校验文件是否存在SELECT SINGLErelidobjidFROM wwwdataINTO CORRESPONDING FIELDS OF ls_wwwdataWHERE srtf2 = 0AND relid = 'MI'AND objid = 'ZSDB001'.IF sy-subrc = 0." 下载CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'EXPORTINGkey         = ls_wwwdatadestination = lv_path2IMPORTINGrc          = lv_subrc.ENDIF.CREATE OBJECT gs_excel 'EXCEL.APPLICATION'.             " 创建 XLSXSET PROPERTY OF gs_excel 'Visible' = 0 .                 "1前台运行。为0时表示为后台运行。GET PROPERTY OF gs_excel 'Workbooks' = gs_wbooklist .CALL METHOD  OF gs_wbooklist 'Open'  = gs_wbookEXPORTING #1 = lv_fullpath.
*  GET PROPERTY OF gs_excel 'ACTIVESHEET' = gs_activesheet.CALL METHOD OF gs_excel 'Worksheets' = gs_cells.CALL METHOD OF gs_cells 'Item' = gs_sheet1EXPORTING #1 = '1-发票基本信息' .CALL METHOD OF gs_excel 'Worksheets' = gs_cells.CALL METHOD OF gs_cells 'Item' = gs_sheet2EXPORTING #1 = '2-发票明细信息' .
*09.10.2024 17:41:58 :填充数据lv_row = '4' .LOOP AT gt_alv INTO gs_alv WHERE sel IS NOT INITIAL .CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'EXPORTINGinput          = gs_alv-meinslanguage       = sy-languIMPORTINGoutput         = gs_alv-meinsEXCEPTIONSunit_not_found = 1OTHERS         = 2.CALL METHOD OF gs_sheet1 'Cells' = gs_cell1EXPORTING#1 = lv_row#2 = 1.SET PROPERTY OF gs_cell1 'Value' = gs_alv-vbeln .   "发票号SET PROPERTY OF gs_cell1 'HorizontalAlignment' = -4108 .  "字体默认居中CALL METHOD OF gs_sheet1 'Cells' = gs_cell1EXPORTING#1 = lv_row#2 = 6.SET PROPERTY OF gs_cell1 'Value' = gs_alv-name .    "客户号SET PROPERTY OF gs_cell1 'HorizontalAlignment' = -4108 .  "字体默认居中CALL METHOD OF gs_sheet1 'Cells' = gs_cell1EXPORTING#1 = lv_row#2 = 7.SET PROPERTY OF gs_cell1 'Value' = gs_alv-taxnum .   "客户税号SET PROPERTY OF gs_cell1 'HorizontalAlignment' = -4108 .  "字体默认居中CALL METHOD OF gs_sheet2 'Cells' = gs_cell2EXPORTING#1 = lv_row#2 = 1.SET PROPERTY OF gs_cell2 'Value' = gs_alv-vbeln .   "发票号SET PROPERTY OF gs_cell2 'HorizontalAlignment' = -4108 .  "字体默认居中CALL METHOD OF gs_sheet2 'Cells' = gs_cell2EXPORTING#1 = lv_row#2 = 5.SET PROPERTY OF gs_cell2 'Value' = gs_alv-meins .   "单位SET PROPERTY OF gs_cell2 'HorizontalAlignment' = -4108 .  "字体默认居中CALL METHOD OF gs_sheet2 'Cells' = gs_cell2EXPORTING#1 = lv_row#2 = 6.SET PROPERTY OF gs_cell2 'Value' = gs_alv-lfimg .   "数量SET PROPERTY OF gs_cell2 'HorizontalAlignment' = -4108 .  "字体默认居中CALL METHOD OF gs_sheet2 'Cells' = gs_cell2EXPORTING#1 = lv_row#2 = 7.SET PROPERTY OF gs_cell2 'Value' = gs_alv-cmpre .   "单价SET PROPERTY OF gs_cell2 'HorizontalAlignment' = -4108 .  "字体默认居中CALL METHOD OF gs_sheet2 'Cells' = gs_cell2EXPORTING#1 = lv_row#2 = 8.SET PROPERTY OF gs_cell2 'Value' = gs_alv-zhszj .   "金额SET PROPERTY OF gs_cell2 'HorizontalAlignment' = -4108 .  "字体默认居中CALL METHOD OF gs_sheet2 'Cells' = gs_cell2EXPORTING#1 = lv_row#2 = 9.SET PROPERTY OF gs_cell2 'Value' = gs_alv-zsm .   "税率SET PROPERTY OF gs_cell2 'HorizontalAlignment' = -4108 .  "字体默认居中lv_row = lv_row + 1 .CLEAR : gs_alv .ENDLOOP .CLEAR : lv_row .
*-----------CALL METHOD OF gs_wbook 'SAVE'. "保存CALL METHOD OF gs_wbook 'CLOSE'."关闭CALL METHOD OF gs_excel 'QUIT'. "退出
http://www.xdnf.cn/news/344.html

相关文章:

  • 『前端样式分享』联系我们卡片式布局 自适应屏幕 hover动效 在wikijs中使用 (代码拿来即用)
  • 使用Gone MCP 组件编写MCP Server
  • 《系统分析师-第三阶段—总结(一)》
  • LUN Capacity(Blocks) 是什么意思
  • Java项目—— 拼图小游戏(进阶版)
  • 表征流体作用力的参数及其特性
  • 2025年MathorCup数学应用挑战赛【B题成品论文第二版】(免费分享)
  • Allure测试报告按测试终端和测试类型智能分类查看
  • 杭州小红书代运营公司-品融电商:全域增长策略的实践者
  • Oracle 19c部署之手工建库(四)
  • Deno 包管理器:现代 JavaScript/TypeScript 运行时的新范式
  • 标题:民锋视角下的节奏演变逻辑:探寻市场波动的内在秩序
  • 网络互连与互联网3
  • SPWM-H桥逆变器工作原理
  • 关于防火墙
  • 解决 pip install tts 报错问题-—SadTalker的AI数字人视频—未来之窗超算中心
  • openEuler系统下源码编译安装Nginx实践教程
  • 磁盘文件管理与库
  • 深度学习3.2 线性回归的从零开始实现
  • 深度学习中的卷积神经网络
  • git -- 对远程仓库的操作 -- 查看,添加(与clone对比),抓取和拉取,推送(注意点,抓取更新+合并的三种方法,解决冲突,对比),移除
  • 模块内聚:理解和优化模块设计的关键
  • C#如何动态生成实体类?5种方法详解与实战演示
  • 运营商二要素API接口有哪些应用场景?
  • 2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(三级)真题
  • 练习(杨辉三角、字符串旋转)
  • 算法-链表
  • datasheet数据手册-阅读方法
  • 拆机装机,通电主板亮灯风扇不转无法开机解决办法
  • Three.js 教程导航页【目录总览】