上传EXCEL,并下载模板
上传EXCEL,并下载模板
假如上传EXCEL为这个格式。
就是这种样式,下面为源码。
TYPE-POOLS:icon,abap.
TABLES sscrfields.
DATA:lv_sl TYPE i.
TABLES:eban.
TYPES: BEGIN OF ty_itab,sname(10),sno(10),sex(3),END OF ty_itab.
DATA: wa TYPE ty_itab,itab TYPE TABLE OF ty_itab,gt_itab TYPE TABLE OF ty_itab.
DATA gt_data TYPE TABLE OF alsmex_tabline WITH HEADER LINE.
***********************************************************************选择屏幕
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-000. "选择屏幕框
SELECT-OPTIONS:"s_ebeln FOR ekko-ebeln OBLIGATORY,s_matnr FOR eban-matnr. "OBLIGATORY.
PARAMETERS: p_file LIKE rlgrap-filename OBLIGATORY DEFAULT 'D:\' MODIF ID m02.
SELECTION-SCREEN END OF BLOCK b1.
上面为选择屏幕实现
***
INITIALIZATION.SELECTION-SCREEN: FUNCTION KEY 1.SELECTION-SCREEN: FUNCTION KEY 2.sscrfields-functxt_01 = '事务码跳转'.sscrfields-functxt_02 = '总表模板下载'.
此为功能按钮描述
****
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.CALL FUNCTION 'WS_FILENAME_GET'EXPORTINGmask = ',Excel Files,*.xls,All Files,*.*.'(101)title = '选择文件'(100)IMPORTINGfilename = p_fileEXCEPTIONSinv_winsys = 1no_batch = 2selection_cancel = 3selection_error = 4OTHERS = 5.IF sy-subrc <> 0 AND sy-subrc <> 3.MESSAGE e100(zdev) WITH '选择文件出错!'(007).ENDIF.
上传文件框搜索帮助
*****************************************************************************
AT SELECTION-SCREEN.IF sscrfields-ucomm = 'FC01'.CALL FUNCTION 'TH_CREATE_MODE' "跳转事务码程序EXPORTINGtransaktion = 'MM01' "事务码EXCEPTIONSmax_sessions = 1internal_error = 2no_authority = 3OTHERS = 4.IF sy-subrc <> 0.MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNOWITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.ENDIF.IF sscrfields-ucomm = 'FC02'.DATA: c_path TYPE char128 .DATA: lv_objdata LIKE wwwdatatab,lv_obj_name LIKE wwwdatatab-objid,lv_destination LIKE rlgrap-filename,lv_objid LIKE sy-repid,lv_subrc LIKE sy-subrc.* TYPE-POOLS: ABAP.DATA: fullpath TYPE string,filename TYPE string,path TYPE string,user_action TYPE i,encoding TYPE abap_encoding.CALL METHOD cl_gui_frontend_services=>file_save_dialogEXPORTINGwindow_title = '数据导入-总表'default_extension = 'xlsx'default_file_name = '总表模板'file_filter = 'Excel'CHANGINGfilename = filenamepath = pathfullpath = fullpathuser_action = user_actionfile_encoding = encoding.IF sy-subrc <> 0 OR user_action <> cl_gui_frontend_services=>action_ok.EXIT.ENDIF.MOVE 'ZMM_EXEC_UPH_PC1' TO lv_obj_name."此外SMW0上传文件命名SELECT relid objidFROM wwwdataINTO CORRESPONDING FIELDS OF lv_objdataUP TO 1 ROWSWHERE srtf2 = 0 AND relid = 'MI'AND objid = lv_obj_name.ENDSELECT.c_path = fullpath.CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'EXPORTINGkey = lv_objdatadestination = c_pathIMPORTINGrc = lv_subrc.IF lv_subrc = 0.MESSAGE '下载成功' TYPE 'S'.ENDIF.ENDIF.
***********************************************************************
START-OF-SELECTION.CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'EXPORTINGfilename = p_filei_begin_col = '1'i_begin_row = '1'i_end_col = '50'i_end_row = '5000'TABLESintern = gt_data.SORT gt_data BY row col value.*---整理到内表数据LOOP AT gt_data.CASE gt_data-col.WHEN 1.wa-sname = gt_data-value.WHEN 2.wa-sno = gt_data-value.WHEN 3.wa-sex = gt_data-value.APPEND wa TO itab."对于这个例子,excel表有3列,append要加在最后一列.CLEAR wa.ENDCASE.ENDLOOP.READ TABLE itab INTO wa INDEX 1.DELETE TABLE itab FROM wa.LOOP AT itab INTO wa.WRITE:/ wa-sname,wa-sno,wa-sex.ULINE.ENDLOOP.
**********************************************************************另一种得到EXCEL数据方式,与excel字段一样的内表DATA rawdata TYPE truxs_t_text_data.CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'EXPORTINGi_line_header = 'X' "表示包括字段名i_tab_raw_data = rawdata i_filename = p_fileTABLESi_tab_converted_data = gt_itabEXCEPTIONSconversion_failed = 1OTHERS = 2.> 随享笔记 2021/11/22 青岛 有风,真冷啊。
上传EXCEL,并下载模板相关推荐
- vue+element-ui 实现上传文件、下载模板、批量导入、导出
在后台管理系统的项目开发中,为了系统使用更加方便,通常页面中会有批量导入,导出,上传文件,下载模板等功能.刚好最近做的项目中,有这些功能,正好借此机会做个总结. 页面上的功能如上图所示. 1 下载模板 ...
- angular 上传excel 与下载excel
上传附件 <div class="layui-inline"><se label="指示書附件" error="請輸入指定路徑&qu ...
- Spring Boot整合EasyExcel(完整版包含上传解析excel和下载模板)
Spring Boot整合EasyExcel(完整版包含上传解析excel和下载模板) 1. 加入依赖 2. 对读取excel内容(批量添加) 3. 模板下载: 1. 加入依赖 <depende ...
- 【Vue】vue2上传Excel表格到后台 实战教程(接上一篇下载Excel模板表格到本地)
参考文章 作者原文链接入口 项目场景: 关于数据新增,需要从后台下载一个Excel表格,然后在表格里面添加数据,再上传给后台,后台做解析处理,往数据库添加数据 问题描述 需要用到elementUI的文 ...
- 上传excel文件,导出excel模板实现
此功能上商品导入,分别有导入组别,品类,属性(json字符串截取)等多功能多表实现. 导出功能,根据自定义需要的模板名称生成可配置模板 controller调用前段路径,然后导入/导出模板工具,ser ...
- springboot上传excel表格到数据库
1.引入相关poi依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi< ...
- java上传excel以及解析
一.前言 在写管理后台的需求的时候,经常会用到上传excel的功能,需要我们解析Excel的内容,导入数据等. 二.上传 上传到文件服务器,文件服务有相关的上传接口,需要我们调用API上传. @Pos ...
- element-ui上传excel验证
element-ui上传excel默认选固定后缀以及上传校验 //action 上传地址 //accept 点击上传后右侧所有文件的默认选择后缀 //before-upload 上传前对文件进行校验 ...
- Django框架(上传Excel文件并读取)
博主今天整理下Django框架中上传Excel文件并读取 博主是要在管理平台中新增用例的维护功能,想着通过上传Excel文件来展示用例,下面是项目的路径图: 首先先建数据库模型 model.py 可以 ...
最新文章
- mysql profiling表_Mysql-性能分析(profiling 工具)
- 【迁移2018-04-12 10:46:11】BeanCopier之MapStruct(一)
- Java中的“可运行的实现”与“扩展线程”
- 怎么用vc采集ni卡数据_SystemLink自学笔记(6):SystemLink架构和数据服务
- 笔记-中项案例题-2019年下-整体管理
- PHP底层运行原理初探
- vue通信的N种方式
- spring mvc 返回html 乱码,解决springmvc使用ResponseBody注解返回json中文乱码问题
- HttpsURLConnection 利用keepAlive特性进行优化一例
- python 在Excel中新增一列
- LINUX Centos7利用七牛空间做定时备份 qshell定时备份,定时上传到七牛空间
- POJ3068 Shortest pair of paths 【费用流】
- Win32子系统(csrss.exe,win32k.sys相关知识总结)
- 制冷行业人人必备的设计与仿真软件大全!(附下载)
- Java实现的餐厅点餐系统源码Java点餐系统Java点餐系统Java网上订餐系统Java在线订餐系统
- word被锁定无法编辑怎么处理
- 阿里妈妈返利比率的商品搜索API接口
- python实现数据结构--线性表
- asp毕业设计——基于asp+access的订单管理系统设计与实现(毕业论文+程序源码)——订单管理系统
- maya腿的蒙皮旋转枢轴_完美动力小课堂:怎么快速修改物体枢轴?这个方法值得收藏!...
热门文章
- SDCMS131批量安装设置助手
- 2017沈阳第二十届国际供热通风空调及舒适家居展览会会刊(参展商名录)
- vscode Live Server插件无法启动edge浏览器
- markdown换行功能
- oracle关键字pivot行转列【坑爹的三小时,动脑经真累 】
- MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
- “自如”的看房,“自如”的体验
- 什么是Shopify?你必须知道的5个优点和5个缺点
- 刷脸支付通过人脸识别就可以完成付款
- FMC子卡:AD9680子卡 / 基于 VITA57.1 标准的 4 路 500MSPS/1GSPS 14 位 AD 采集子卡