上传EXCEL到ABAP内表
上传EXCEL到ABAP内表
将EXCEL文件上载到内表两种方式:
一、直接将excel数据读入具有相同结构的内表
二、将excel数据读入一个行号,列号,值组成的内表,然后通过指针将数据读到与excel结构相同的内表
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
CALL FUNCTION 'F4_FILENAME'
IMPORTING
file_name = P_FILE.
CLEAR PROGRESS_TEXT.
CONCATENATE '正在上载、转换文件,请稍侯......' '' INTO progress_text.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
TEXT = progress_text.
DATA l_size TYPE I .
"可以省略upload
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = p_file
filetype = 'BIN'
IMPORTING
filelength = l_size
TABLES
data_tab = rawdata.
"内表结构与excel一致,字段最好定义为C类型,读入内表之后,转换成系统对应字段类型
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING "i_line_header = 'X'"表示包括字段名
i_tab_raw_data = rawdata
i_filename = p_file
TABLES
i_tab_converted_data = gt_itab
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
**********************************************************************************************8
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
PERFORM SELECT_FILE.
FORM SELECT_FILE .
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
MASK = ',Excel Files,*.xls,All Files,*.*.'(101)
TITLE = '选择文件'(100)
IMPORTING
FILENAME = P_FILE
EXCEPTIONS
INV_WINSYS = 1
NO_BATCH = 2
SELECTION_CANCEL = 3
SELECTION_ERROR = 4
OTHERS = 5.
IF SY-SUBRC <> 0 AND SY-SUBRC <> 3.
MESSAGE E100(ZDEV) WITH '选择文件出错!'(007).
ENDIF.
ENDFORM. " SELECT_FILE
"接收excel数据的内表
DATA: GT_DATA TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
FORM UPLOAD_ITAB .
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = P_FILE
I_BEGIN_COL = '1'
I_BEGIN_ROW = '2'
I_END_COL = '100'
I_END_ROW = '30000'
TABLES
INTERN = GT_DATA.
SORT GT_DATA BY ROW COL VALUE.
"将数据转换成一般处理内表结构的数据
LOOP AT GT_DATA.
MOVE GT_DATA-COL TO L_INDEX.
ASSIGN COMPONENT L_INDEX OF STRUCTURE GT_ITAB TO <FS>.
MOVE GT_DATA-VALUE TO <FS>.
AT END OF ROW.
APPEND GT_ITAB.
CLEAR GT_ITAB.
ENDAT.
ENDLOOP.
IF GT_ITAB IS NOT INITIAL.
APPEND GT_ITAB.
CLEAR GT_ITAB.
ENDIF.
ENDFORM. " UPLOAD_ITAB
上传EXCEL到ABAP内表相关推荐
- vue2 - 基于Element UI实现上传Excel表单数据功能
一.项目场景 批量数据上传后台,需要从后台下载一个固定格式的 Excel表格,然后在表格里面添加数据,将数据格式化,再上传给后台,后台做解析处理,往数据库添加数据 二.实现功能展示 点击导入excel ...
- 上传EXCEL,并下载模板
上传EXCEL,并下载模板 假如上传EXCEL为这个格式. 就是这种样式,下面为源码. TYPE-POOLS:icon,abap. TABLES sscrfields. DATA:lv_sl TYPE ...
- laravel-admin / Dcat admin 上传Excel并导入数据到数据库
准备工作 安装maatwebsite/excel composer require maatwebsite/excel laravel-admin 效果图 创建按钮 $grid->tools(f ...
- springBoot上传excel表格数据
pom文件导入需要的依赖包 <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --><dependency& ...
- Django框架(上传Excel文件并读取)
博主今天整理下Django框架中上传Excel文件并读取 博主是要在管理平台中新增用例的维护功能,想着通过上传Excel文件来展示用例,下面是项目的路径图: 首先先建数据库模型 model.py 可以 ...
- php上传查询excel到mysql_PHP上传Excel文件导入数据到MySQL数据库示例
PHP上传Excel文件导入数据到MySQL数据库示例2020-06-20 00:34:11 最近在做Excel文件导入数据到数据库.网站如果想支持批量插入数据,可以制作一个上传Excel文件,导入里 ...
- php 上传excel到mysql_PHP上传Excel文件导入数据到MySQL数据库示例
最近在做Excel文件导入数据到数据库.网站如果想支持批量插入数据,可以制作一个上传Excel文件,导入里面的数据内容到MySQL数据库的小程序. 要用到的工具: ThinkPHP:轻量级国产PHP开 ...
- ASP.NET 实现上传EXCEL,利用NOPI操作,转换得到DataTable
这几天正好用到上传Excel,并根据Excel中的数据做相应的处理,故整理以备用. 如果需要将Excel中的数据对应写到数据库表中请参见后学用SqlBulkCopy一次性将多条数据赋值到表中:http ...
- 使用ocupload和POI一键上传Excel并解析导入数据库
使用的工具如下: JQuery ocupload jquery.ocupload-1.1.2.js Apache POI poi-3.9.jar 如果是Maven项目添加依赖如下: <depe ...
最新文章
- 30万奖金!首个有阿里技术培训支持,让AI落定场景应用的赛事!
- 超年轻!93年小伙已是985大学教授、博导!
- 周期同步位置模式(CSP),轮廓位置模式(PPM),位置模式(PM)
- php 随机生成数据表名,php 随机生成姓名
- 两个单体内置对象_Global和Math
- QML基础类型之var
- 三十九、ETL工具Kettle基础使用
- 【机器学习】粗糙集属性约简—Attribute Reduction
- php对二维数据进行排序
- 哈工大威海计算机组成原理,哈工大威海计算机组成原理复习.pdf
- string 大小写转换
- 【OpenCV】OpenCV实战从入门到精通之 -- 输入输出XML和YAML文件详解
- php 5.2.6升级,Centos5.5 简单方法升级php到php5.2.6
- format函数_畅游人工智能之海 | Keras教程之后端函数(一)
- 怎样查自己电脑系统的版本
- java 朋友圈分享接口_微信发朋友圈api接口调用代码
- 想破解游戏协议?你知道客户端和服务器是怎么通信的?我来告诉你怎么定义的
- Windows10离线安装.net framework3.5方法
- 西门子S7-1200PLC3轴伺服控制程序 触摸屏是西门子Tp900
- 2020年个人年终工作总结报告及2021年工作计划怎么利用敬业签历史记录 利用云便签备忘录及待办事项的任务清单有效解决2020年终总结报告的撰写