上传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,并下载模板相关推荐

  1. vue+element-ui 实现上传文件、下载模板、批量导入、导出

    在后台管理系统的项目开发中,为了系统使用更加方便,通常页面中会有批量导入,导出,上传文件,下载模板等功能.刚好最近做的项目中,有这些功能,正好借此机会做个总结. 页面上的功能如上图所示. 1 下载模板 ...

  2. angular 上传excel 与下载excel

    上传附件 <div class="layui-inline"><se label="指示書附件" error="請輸入指定路徑&qu ...

  3. Spring Boot整合EasyExcel(完整版包含上传解析excel和下载模板)

    Spring Boot整合EasyExcel(完整版包含上传解析excel和下载模板) 1. 加入依赖 2. 对读取excel内容(批量添加) 3. 模板下载: 1. 加入依赖 <depende ...

  4. 【Vue】vue2上传Excel表格到后台 实战教程(接上一篇下载Excel模板表格到本地)

    参考文章 作者原文链接入口 项目场景: 关于数据新增,需要从后台下载一个Excel表格,然后在表格里面添加数据,再上传给后台,后台做解析处理,往数据库添加数据 问题描述 需要用到elementUI的文 ...

  5. 上传excel文件,导出excel模板实现

    此功能上商品导入,分别有导入组别,品类,属性(json字符串截取)等多功能多表实现. 导出功能,根据自定义需要的模板名称生成可配置模板 controller调用前段路径,然后导入/导出模板工具,ser ...

  6. springboot上传excel表格到数据库

    1.引入相关poi依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi< ...

  7. java上传excel以及解析

    一.前言 在写管理后台的需求的时候,经常会用到上传excel的功能,需要我们解析Excel的内容,导入数据等. 二.上传 上传到文件服务器,文件服务有相关的上传接口,需要我们调用API上传. @Pos ...

  8. element-ui上传excel验证

    element-ui上传excel默认选固定后缀以及上传校验 //action 上传地址 //accept 点击上传后右侧所有文件的默认选择后缀 //before-upload 上传前对文件进行校验 ...

  9. Django框架(上传Excel文件并读取)

    博主今天整理下Django框架中上传Excel文件并读取 博主是要在管理平台中新增用例的维护功能,想着通过上传Excel文件来展示用例,下面是项目的路径图: 首先先建数据库模型 model.py 可以 ...

最新文章

  1. mysql profiling表_Mysql-性能分析(profiling 工具)
  2. 【迁移2018-04-12 10:46:11】BeanCopier之MapStruct(一)
  3. Java中的“可运行的实现”与“扩展线程”
  4. 怎么用vc采集ni卡数据_SystemLink自学笔记(6):SystemLink架构和数据服务
  5. 笔记-中项案例题-2019年下-整体管理
  6. PHP底层运行原理初探
  7. vue通信的N种方式
  8. spring mvc 返回html 乱码,解决springmvc使用ResponseBody注解返回json中文乱码问题
  9. HttpsURLConnection 利用keepAlive特性进行优化一例
  10. python 在Excel中新增一列
  11. LINUX Centos7利用七牛空间做定时备份 qshell定时备份,定时上传到七牛空间
  12. POJ3068 Shortest pair of paths 【费用流】
  13. Win32子系统(csrss.exe,win32k.sys相关知识总结)
  14. 制冷行业人人必备的设计与仿真软件大全!(附下载)
  15. Java实现的餐厅点餐系统源码Java点餐系统Java点餐系统Java网上订餐系统Java在线订餐系统
  16. word被锁定无法编辑怎么处理
  17. 阿里妈妈返利比率的商品搜索API接口
  18. python实现数据结构--线性表
  19. asp毕业设计——基于asp+access的订单管理系统设计与实现(毕业论文+程序源码)——订单管理系统
  20. maya腿的蒙皮旋转枢轴_完美动力小课堂:怎么快速修改物体枢轴?这个方法值得收藏!...

热门文章

  1. SDCMS131批量安装设置助手
  2. 2017沈阳第二十届国际供热通风空调及舒适家居展览会会刊(参展商名录)
  3. vscode Live Server插件无法启动edge浏览器
  4. markdown换行功能
  5. oracle关键字pivot行转列【坑爹的三小时,动脑经真累 】
  6. MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
  7. “自如”的看房,“自如”的体验
  8. 什么是Shopify?你必须知道的5个优点和5个缺点
  9. 刷脸支付通过人脸识别就可以完成付款
  10. FMC子卡:AD9680子卡 / 基于 VITA57.1 标准的 4 路 500MSPS/1GSPS 14 位 AD 采集子卡