sdn上有关于将excel如何通过abap webdynpro导入并显示的示例,但是找着去做之后会发现导入并显示出的是乱码。其实本身示例给出的就是按照txt的格式来做的,这其实是由于sap本身对于把excel得来的xstring重新转成string类型的过程无法正确匹配罢了,至今sap没有给出一个很好的解决办法,按照示例代码:
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 ).
data: conv type ref to cl_abap_conv_in_ce.
call method cl_abap_conv_in_ce=>create
exporting
input = l_xstring
encoding = 'UTF-8'
replacement = '?'
ignore_cerr = abap_true
receiving
conv = conv .
conv->read( importing data = l_string ).
[color=orange] CALL FUNCTION 'HR_KR_XSTRING_TO_STRING'
EXPORTING
in_xstring = l_xstring
IMPORTING
out_string = l_string. 废除[/color]
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.
DATASOURCE为xstring或string都可以。
废除部分其实无法正确将xstring转化为string。
在测试的时候需要将excel文件先保存为unicode的txt文件,然后再将txt文件保存为utf8格式导入方可。否则非utf8文本文件导入时会将文本所有内容在每一单元格显示。
分享到:
相关推荐
SAP Web Dynpro 是 SAP ABAP 平台上的一个组件,用于开发富客户端应用程序,尤其适合构建企业级的复杂业务应用。本资料“SAP Web Dynpro 40个经典案例”提供了40个实际应用示例,全面覆盖了各种业务场景,帮助开发者...
7. **Web Dynpro ABAP**:在Web环境下,可以利用Web Dynpro ABAP组件处理Excel,比如通过`wdc_excel_input`和`wdc_excel_output`元素。 8. **OpenOffice Integration**:SAP也支持通过OpenOffice API与Excel文件...
在ABAP(Advanced Business Application Programming)环境中,处理Excel文件(通常以.xlsx格式存在)是常见的需求,例如数据导入导出、报表生成等。"abap xlsx2 demo 程序"是一个示例项目,旨在展示如何在SAP系统中...
7. **SAP Web开发技术**:包括BSP(Browser-based Software Package)用于简单网页开发,ABAP Web Dynpro和Java Web Dynpro用于创建复杂网页,Developer Studio则是基于Eclipse的Java开发环境。 8. **SAP Workflow*...
3. **SAP客户端工具**:可能涵盖了使用SAP GUI、Webdynpro、HANA Studio或其他第三方工具连接SAP的方法。 4. **数据交换**:解释如何导入导出数据,例如使用IDoc(Intermediate Document)或Direct Input等技术。 5....