To upload an excel file using WebDynpro Application.
2015-08-04 19:43
507 查看
Scenario:To upload an excel file using WebDynpro Application.
Procedure:
1. Go to transaction SE80.
2. Select “WebDynpro Comp./Intf” from the list.
3. Create a new WebDynpro component by the name ZEXCEL_UPLOAD.
![](http://img.blog.csdn.net/20150804193030195?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4. Double-click on the View. Select Context Tab.
5. Create an attribute as shown below.
![](http://img.blog.csdn.net/20150804193114345?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
6. Create a node as shown below:
![](http://img.blog.csdn.net/20150804193151094?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
7. Create attributes for the DATA_TAB node like below.
![](http://img.blog.csdn.net/20150804193238640?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20150804193315675?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
8. Double click on View. We would be designing the screen of our application with the following elements:
1. File Upload
2. Button
3. Table
Insert Element FILE_UPLOAD for Uploading File.
![](http://img.blog.csdn.net/20150804193406594?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
9. Insert Element Button.Set its Text property as UPLOAD.
![](http://img.blog.csdn.net/20150804193448055?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Create a new action for button.
![](http://img.blog.csdn.net/20150804193526863?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
10. Insert an Element TABLE and do binding by right clicking on it and select Create Binding.
![](http://img.blog.csdn.net/20150804193615818?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
By pressing Enter button Binding will be done.
11. Set Column’s header property as below.
![](http://img.blog.csdn.net/20150804193713331?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Same way set header property for the Age column too.
12. Select element File upload and set its DATA property as shown below:
![](http://img.blog.csdn.net/20150804193750760?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
13. Now select View’s method list
![](http://img.blog.csdn.net/20150804193840928?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Double click on ONACTION_UPLOAD method. Write a code as given below.
METHOD onactionon_upload .
TYPES :
BEGIN OF str_itab,
name(10) TYPE c,
age(10) TYPE c,
END OF str_itab.
DATA : t_table1 TYPE STANDARD TABLE OF str_itab,
i_data TYPE STANDARD TABLE OF string,
lo_nd_sflight TYPE REF TO if_wd_context_node,
lo_el_sflight TYPE REF TO if_wd_context_element,
l_string TYPE string,
fs_table TYPE str_itab,
l_xstring TYPE xstring,
fields TYPE string_table,
lv_field TYPE string.
DATA : t_table TYPE if_main=>elements_data_tab,
data_table TYPE if_main=>elements_data_tab.
* get single attribute
wd_context->get_attribute(
EXPORTING
name = `DATASOURCE`
IMPORTING
value = l_xstring ).
CALL FUNCTION 'HR_KR_XSTRING_TO_STRING'
EXPORTING
in_xstring = l_xstring
IMPORTING
out_string = l_string.
SPLIT l_string AT cl_abap_char_utilities=>newline INTO TABLE i_data.
* Bind With table Element.
LOOP AT i_data INTO l_string.
SPLIT l_string AT cl_abap_char_utilities=>horizontal_tab INTO TABLE fields.
READ TABLE fields INTO lv_field INDEX 1.
fs_table-name = lv_field.
READ TABLE fields INTO lv_field INDEX 2.
fs_table-age = lv_field.
APPEND fs_table TO t_table1.
ENDLOOP.
lo_nd_sflight = wd_context->get_child_node( 'DATA_TAB' ).
lo_nd_sflight->bind_table( t_table1 ).
ENDMETHOD.
14. Activate the Program and create an application by right clicking and save it.
![](http://img.blog.csdn.net/20150804193941171?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
15. Test Application.
![](http://img.blog.csdn.net/20150804194027844?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Output:
![](http://img.blog.csdn.net/20150804194114081?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Click on Browse.Select An EXCEL file with two Columns.
Click on UPLOAD Button.and Excel data will be displayed like below.
Procedure:
1. Go to transaction SE80.
2. Select “WebDynpro Comp./Intf” from the list.
3. Create a new WebDynpro component by the name ZEXCEL_UPLOAD.
4. Double-click on the View. Select Context Tab.
5. Create an attribute as shown below.
6. Create a node as shown below:
7. Create attributes for the DATA_TAB node like below.
8. Double click on View. We would be designing the screen of our application with the following elements:
1. File Upload
2. Button
3. Table
Insert Element FILE_UPLOAD for Uploading File.
9. Insert Element Button.Set its Text property as UPLOAD.
Create a new action for button.
10. Insert an Element TABLE and do binding by right clicking on it and select Create Binding.
By pressing Enter button Binding will be done.
11. Set Column’s header property as below.
Same way set header property for the Age column too.
12. Select element File upload and set its DATA property as shown below:
13. Now select View’s method list
Double click on ONACTION_UPLOAD method. Write a code as given below.
METHOD onactionon_upload .
TYPES :
BEGIN OF str_itab,
name(10) TYPE c,
age(10) TYPE c,
END OF str_itab.
DATA : t_table1 TYPE STANDARD TABLE OF str_itab,
i_data TYPE STANDARD TABLE OF string,
lo_nd_sflight TYPE REF TO if_wd_context_node,
lo_el_sflight TYPE REF TO if_wd_context_element,
l_string TYPE string,
fs_table TYPE str_itab,
l_xstring TYPE xstring,
fields TYPE string_table,
lv_field TYPE string.
DATA : t_table TYPE if_main=>elements_data_tab,
data_table TYPE if_main=>elements_data_tab.
* get single attribute
wd_context->get_attribute(
EXPORTING
name = `DATASOURCE`
IMPORTING
value = l_xstring ).
CALL FUNCTION 'HR_KR_XSTRING_TO_STRING'
EXPORTING
in_xstring = l_xstring
IMPORTING
out_string = l_string.
SPLIT l_string AT cl_abap_char_utilities=>newline INTO TABLE i_data.
* Bind With table Element.
LOOP AT i_data INTO l_string.
SPLIT l_string AT cl_abap_char_utilities=>horizontal_tab INTO TABLE fields.
READ TABLE fields INTO lv_field INDEX 1.
fs_table-name = lv_field.
READ TABLE fields INTO lv_field INDEX 2.
fs_table-age = lv_field.
APPEND fs_table TO t_table1.
ENDLOOP.
lo_nd_sflight = wd_context->get_child_node( 'DATA_TAB' ).
lo_nd_sflight->bind_table( t_table1 ).
ENDMETHOD.
14. Activate the Program and create an application by right clicking and save it.
15. Test Application.
Output:
Click on Browse.Select An EXCEL file with two Columns.
Click on UPLOAD Button.and Excel data will be displayed like below.
相关文章推荐
- android densityDpi 的由来
- iOS 获取当前时间
- iOS之触摸事件和手势
- android圆形图片的获取与图片绕中心旋转
- Android之——杀死用户选中的进程优化
- iOS界面-仿网易新闻左侧抽屉式交互
- android 磨砂玻璃效果
- Objective-C语法之Objective-C语言和IOS系统(简介,语法,系统结构)
- android "receiver not registered"
- Android WebView Memory Leak WebView内存泄漏
- 解决Android 5.0中出现的警告:Service Intent must be explicit
- Swift iOS 文件操作:沙盒(SandBox)、程序包(NSBundle)
- iOS Xcode6 新建OC Category文件
- 利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件
- Android.mk 文件语法规范
- 27个提升效率的iOS开源库推荐 第三方开放框架
- Swift之沙盒与数据存储
- Android 自定义Spinner
- Android——APK 在32bit/64bit平台 动态库问题
- IDA来Patch android的so文件