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. ElasticSearch——日志工具

    Elasticsearch: 权威指南 官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.ht ...

  2. 配置httpd支持https

    1.首先为192.168.108.159创建私有CA #cd /etc/pki/CA # (umask 077;openssl genrsa -out private/cakey.pem 2048) ...

  3. Select2 添加默认值

    折腾很久才解决问题 $.ajax({ url: '@Url.Action("GetSystemSzzdItem", "CangpinGushi")', type ...

  4. 返回Json格式结果

    static string ReturnData(int resultCode, string resultMessage = "", string resultData = &q ...

  5. JavaScript重点知识(二)

    三.JS的API 3.1知识点(DOM) 1)DOM本质 将html结构化成浏览器和JS可识别可操作的东西 2)变量计算---强制类型转换 获取DOM节点 Attribute(对html标签属性的修改 ...

  6. 如何在python中调用C语言代码

    1.使用C扩展CPython还为开发者实现了一个有趣的特性,使用Python可以轻松调用C代码 开发者有三种方法可以在自己的Python代码中来调用C编写的函数-ctypes,SWIG,Python/ ...

  7. Django表单API详解

    声明:以下的Form.表单等术语都指的的广义的Django表单. Form要么是绑定了数据的,要么是未绑定数据的. 如果是绑定的,那么它能够验证数据,并渲染表单及其数据,然后生成HTML表单.如果未绑 ...

  8. JavaScript 局部刷新

    JavaScript局部刷新具体代码展示如下 1.  #tabList代表需要刷新的元素的对象 2.  第二个#tabList 如果后面有第三个元素,那么后面需要加>*符号,如果不加,容易造成C ...

  9. [原][osgEarth]添加自由飞行漫游器

    //头文件里 #define MANIPULATOR_W 0x01#define MANIPULATOR_A 0x02#define MANIPULATOR_S 0x04#define MANIPUL ...

  10. 力扣(LeetCode) 35. 搜索插入位置

    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6], 5 输 ...