WDA基础十一:Excel上载
1.因为是做建单的例子,所以没有做结果显示,在加了两个属性
DATESOURCE Type XSTRING
FILENAME Type STRING
2.在VIEW中新建element
FileUpload
给个按钮事件:UPLOAD
method ONACTIONUPLOAD . DATA LO_EL_CONTEXT TYPE REF TO IF_WD_CONTEXT_ELEMENT.
DATA LV_DATESOURCE TYPE WD_THIS->ELEMENT_CONTEXT-DATESOURCE.
DATA FILE_DATA TYPE XSTRING.
DATA FILE_NAME TYPE STRING.
DATA:
LV_NAME TYPE STRING,
LV_STRING TYPE STRING,
LV_MSG TYPE STRING,
LV_FLAG TYPE BOOLEAN,
LV_MESSAGE TYPE STRING.
DATA:
LREF_EXCEL TYPE REF TO CL_FDT_XL_SPREADSHEET,
LREF_EXCEL_CORE TYPE REF TO CX_FDT_EXCEL_CORE,
LREF_DATA TYPE REF TO DATA,
LREF_DREF TYPE REF TO DATA.
* Field symbols declarations
FIELD-SYMBOLS:
<F1> TYPE TABLE.
DATA:
LT_WORKSHEETS TYPE STANDARD TABLE OF STRING.
* Structures declarations * get element via lead selection
LO_EL_CONTEXT = WD_CONTEXT->GET_ELEMENT( ). * get single attribute
LO_EL_CONTEXT->GET_ATTRIBUTE(
EXPORTING
NAME = `DATESOURCE`
IMPORTING
VALUE = FILE_DATA ). * get single attribute
LO_EL_CONTEXT->GET_ATTRIBUTE(
EXPORTING
NAME = `FILENAME`
IMPORTING
VALUE = FILE_NAME ). TRY.
* Create object of class to read .xlsx file contents
CREATE OBJECT LREF_EXCEL
EXPORTING
DOCUMENT_NAME = FILE_NAME
XDOCUMENT = FILE_DATA. CATCH CX_FDT_EXCEL_CORE INTO LREF_EXCEL_CORE.
* CLEAR LV_MSG. * Call method to get error message text
* CALL METHOD LREF_EXCEL_CORE->IF_MESSAGE~GET_TEXT
* RECEIVING
* RESULT = LV_MSG.
*<< Display error message returned in lv_msg >>
RETURN.
ENDTRY. * Call method to get list of worksheets in the .xlsx file
LREF_EXCEL->IF_FDT_DOC_SPREADSHEET~GET_WORKSHEET_NAMES(
IMPORTING
WORKSHEET_NAMES = LT_WORKSHEETS ).
* Condition to check whether .xlsx file has any active worksheets
IF LT_WORKSHEETS IS NOT INITIAL.
* Read active worksheet
READ TABLE LT_WORKSHEETS INDEX INTO LV_NAME.
ELSE.
*<< Display error message >>
RETURN.
ENDIF. * Get reference of .xlsx file contents in the active worksheet
LREF_DATA = LREF_EXCEL->IF_FDT_DOC_SPREADSHEET~GET_ITAB_FROM_WORKSHEET( LV_NAME ).
* Fetch all records in the active worksheet
ASSIGN LREF_DATA->* TO <F1>.
* Prepare exporting table with .xlsx file contents
IF <F1> IS NOT ASSIGNED.
*<< Display error message >>
RETURN.
ENDIF. endmethod.
WDA基础十一:Excel上载的更多相关文章
- Bootstrap<基础十一>字体图标(Glyphicons)
字体图标(Glyphicons),并通过一些实例了解它的使用.Bootstrap 捆绑了 200 多种字体格式的字形. 获取字体图标 我们已经在 环境安装 章节下载了 Bootstrap 3.x 版本 ...
- Java基础(十一) Stream I/O and Files
Java基础(十一) Stream I/O and Files 1. 流的概念 程序的主要任务是操纵数据.在Java中,把一组有序的数据序列称为流. 依据操作的方向,能够把流分为输入流和输出流两种.程 ...
- Java基础十一--多态
Java基础十一--多态 一.多态定义 简单说:就是一个对象对应着不同类型. 多态在代码中的体现: 父类或者接口的引用指向其子类的对象. /* 对象的多态性. class 动物 {} class 猫 ...
- day 65 Django基础十一之认证系统
Django基础十一之认证系统 本节目录 一 auth模块 二 User对象 三 扩展默认的auth_user表 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 auth模块 我们 ...
- WDA基础十四:ALV字段属性配置表
ALV配置表管理 一.字段属性配置表 对于可编辑的ALV不用这个,尽可能多的设置一些控制: 单元格类型:默认A,特殊选择 ZLYE_TYPE E A 1 ...
- WDA基础二:界面,元素介绍
1.ELEMENTS: BUTTON 按钮 CAPTION 标题 DROPDOWN_BY_IDX 带序号的下拉 DROPDOWN_BY_KEY 带键值的下拉 FILE_UPLOAD ...
- VBA基础之Excel 工作薄(Book)的操作(三)
三. Excel 工作薄(Book)的操作1. Excel 创建工作薄(Book) Sub addWorkbook() Workbooks.Add End Sub 2. Excel 打开工作薄(Boo ...
- Python基础-修改excel、redis、接口开发、组织代码
pymysql模块补充内容 1. 游标.description():显示表的字段属性 (什么是游标:游标用于交互式应用,就好比word里的光标一样,要修改某个地方,要先把光标移动到这里) 用好这个方法 ...
- Pandas基础(十一)时间序列
1. pandas时间序列:时间索引 2. pandas时间序列数据结构 2.1 定期序列 3. 频率和偏移 4. 重采样,转移,加窗口 4.1 重采样及频率转换 4.2 时间移动 4.3 滚动窗口 ...
随机推荐
- ElasticSearch——日志工具
Elasticsearch: 权威指南 官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.ht ...
- 配置httpd支持https
1.首先为192.168.108.159创建私有CA #cd /etc/pki/CA # (umask 077;openssl genrsa -out private/cakey.pem 2048) ...
- Select2 添加默认值
折腾很久才解决问题 $.ajax({ url: '@Url.Action("GetSystemSzzdItem", "CangpinGushi")', type ...
- 返回Json格式结果
static string ReturnData(int resultCode, string resultMessage = "", string resultData = &q ...
- JavaScript重点知识(二)
三.JS的API 3.1知识点(DOM) 1)DOM本质 将html结构化成浏览器和JS可识别可操作的东西 2)变量计算---强制类型转换 获取DOM节点 Attribute(对html标签属性的修改 ...
- 如何在python中调用C语言代码
1.使用C扩展CPython还为开发者实现了一个有趣的特性,使用Python可以轻松调用C代码 开发者有三种方法可以在自己的Python代码中来调用C编写的函数-ctypes,SWIG,Python/ ...
- Django表单API详解
声明:以下的Form.表单等术语都指的的广义的Django表单. Form要么是绑定了数据的,要么是未绑定数据的. 如果是绑定的,那么它能够验证数据,并渲染表单及其数据,然后生成HTML表单.如果未绑 ...
- JavaScript 局部刷新
JavaScript局部刷新具体代码展示如下 1. #tabList代表需要刷新的元素的对象 2. 第二个#tabList 如果后面有第三个元素,那么后面需要加>*符号,如果不加,容易造成C ...
- [原][osgEarth]添加自由飞行漫游器
//头文件里 #define MANIPULATOR_W 0x01#define MANIPULATOR_A 0x02#define MANIPULATOR_S 0x04#define MANIPUL ...
- 力扣(LeetCode) 35. 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6], 5 输 ...