`
loky
  • 浏览: 182713 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

abap webdynpro 导入excel并显示

 
阅读更多
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文本文件导入时会将文本所有内容在每一单元格显示。

0
2
分享到:
评论

相关推荐

    SAP Web Dynpro40个经典案例

    SAP Web Dynpro 是 SAP ABAP 平台上的一个组件,用于开发富客户端应用程序,尤其适合构建企业级的复杂业务应用。本资料“SAP Web Dynpro 40个经典案例”提供了40个实际应用示例,全面覆盖了各种业务场景,帮助开发者...

    ABAP-EXCEL编程

    7. **Web Dynpro ABAP**:在Web环境下,可以利用Web Dynpro ABAP组件处理Excel,比如通过`wdc_excel_input`和`wdc_excel_output`元素。 8. **OpenOffice Integration**:SAP也支持通过OpenOffice API与Excel文件...

    abap xlsx2 demo 程序

    在ABAP(Advanced Business Application Programming)环境中,处理Excel文件(通常以.xlsx格式存在)是常见的需求,例如数据导入导出、报表生成等。"abap xlsx2 demo 程序"是一个示例项目,旨在展示如何在SAP系统中...

    SAP系统及开发技术介绍.pptx

    7. **SAP Web开发技术**:包括BSP(Browser-based Software Package)用于简单网页开发,ABAP Web Dynpro和Java Web Dynpro用于创建复杂网页,Developer Studio则是基于Eclipse的Java开发环境。 8. **SAP Workflow*...

    Conect-to-SAP.rar

    3. **SAP客户端工具**:可能涵盖了使用SAP GUI、Webdynpro、HANA Studio或其他第三方工具连接SAP的方法。 4. **数据交换**:解释如何导入导出数据,例如使用IDoc(Intermediate Document)或Direct Input等技术。 5....

Global site tag (gtag.js) - Google Analytics