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上载的更多相关文章

  1. Bootstrap<基础十一>字体图标(Glyphicons)

    字体图标(Glyphicons),并通过一些实例了解它的使用.Bootstrap 捆绑了 200 多种字体格式的字形. 获取字体图标 我们已经在 环境安装 章节下载了 Bootstrap 3.x 版本 ...

  2. Java基础(十一) Stream I/O and Files

    Java基础(十一) Stream I/O and Files 1. 流的概念 程序的主要任务是操纵数据.在Java中,把一组有序的数据序列称为流. 依据操作的方向,能够把流分为输入流和输出流两种.程 ...

  3. Java基础十一--多态

    Java基础十一--多态 一.多态定义 简单说:就是一个对象对应着不同类型. 多态在代码中的体现: 父类或者接口的引用指向其子类的对象. /* 对象的多态性. class 动物 {} class 猫 ...

  4. day 65 Django基础十一之认证系统

    Django基础十一之认证系统   本节目录 一 auth模块 二 User对象 三 扩展默认的auth_user表 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 auth模块 我们 ...

  5. WDA基础十四:ALV字段属性配置表

    ALV配置表管理 一.字段属性配置表 对于可编辑的ALV不用这个,尽可能多的设置一些控制: 单元格类型:默认A,特殊选择 ZLYE_TYPE        E       A       1      ...

  6. WDA基础二:界面,元素介绍

    1.ELEMENTS: BUTTON  按钮 CAPTION  标题 DROPDOWN_BY_IDX   带序号的下拉 DROPDOWN_BY_KEY   带键值的下拉 FILE_UPLOAD    ...

  7. VBA基础之Excel 工作薄(Book)的操作(三)

    三. Excel 工作薄(Book)的操作1. Excel 创建工作薄(Book) Sub addWorkbook() Workbooks.Add End Sub 2. Excel 打开工作薄(Boo ...

  8. Python基础-修改excel、redis、接口开发、组织代码

    pymysql模块补充内容 1. 游标.description():显示表的字段属性 (什么是游标:游标用于交互式应用,就好比word里的光标一样,要修改某个地方,要先把光标移动到这里) 用好这个方法 ...

  9. Pandas基础(十一)时间序列

    1. pandas时间序列:时间索引 2. pandas时间序列数据结构 2.1 定期序列 3. 频率和偏移 4. 重采样,转移,加窗口 4.1 重采样及频率转换 4.2 时间移动 4.3 滚动窗口 ...

随机推荐

  1. C++笔记(2018/2/7)

    类class 类的名字就是用户自定义的类型的名字.可以像使用基本类型那样来使用它. 一个类所占用的内存空间的大小,等于所有成员变量的大小之和. 类之间可以用 "="进行赋值,但是不 ...

  2. kubernets实战采坑1

    1.NLog.config失效,日志ElasticSearch的Index不匹配 <?xml version="1.0" encoding="utf-8" ...

  3. 利用Spring Cloud实现微服务- 熔断机制

    1. 熔断机制介绍 在介绍熔断机制之前,我们需要了解微服务的雪崩效应.在微服务架构中,微服务是完成一个单一的业务功能,这样做的好处是可以做到解耦,每个微服务可以独立演进.但是,一个应用可能会有多个微服 ...

  4. 17秋 SDN课程 第三次上机作业

    SDN 第三次上机作业 1.创建拓扑 2.利用OVS命令下发流表,实现vlan功能 3.利用OVS命令查看流表 s1: s2: 4.验证性测试 5.Wireshark 抓包验证

  5. 增强 用文本增强修改SAP标准屏幕中的字段名称 属于元素的文本增强

    如果想要改变标准屏幕中的字段名称,如把物料主数据基本数据元素的名字改为我们想要的名字 . 1.首先,事务MM03进入物料主数据的基本数据2视图中,将鼠标光标放在需要更改的字段“页格式”上,然后按F1键 ...

  6. JS 上下文模式

    function test(){ console.log(a);//undefined; var a = 1; } test(); 也许你会遇到过上面这样的面试题,你只知道它考的是变量提升,但是具体的 ...

  7. oracle 与其他数据库如mysql的区别

    想明白一个问题:(1)oracle是以数据库为中心,一个数据库就是一个域(可以看作是一个文件夹的概念),一个数据库可以有多个用户,创建用户是在登陆数据库之后进行的,但是有表空间的概念(2)而mysql ...

  8. python 操作剪切板

    python3 在使用网上找到的一些使用剪切板的片段时发现存在写入剪切板后乱码的情况, 研究后发现python3不能使用SetClipboardData方法, 要使用SetClipboardText ...

  9. Ubuntu18.04下安装MySQL

    Ubuntu上安装MySQL非常简单只需要几条命令就可以完成. 1. sudo apt-get install mysql-server 2. apt-get isntall mysql-client ...

  10. 关于Java类和包的那些事

    *.Java文件 问题:一个.java源文件中是否可以包括多个类(不是内部类)?有什么限制? 答案:可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致.一个文件中可以 ...