将HTTP请求数据导出到Excel

3
我想通过HTTP请求将数据导出到Excel文件中。我有一个实现请求处理程序接口的类。
我将响应主体设置为类似于header1 \t header2 \t \n content1 \t content2 \t \n的内容。
内容类型为application/msexcel; charset=iso-8859-2,并且Content-Disposition设置为attachment; filename=Excel.xls 这种方法在服务器端JavaScript应用程序中非常有效,但是在ABAP中执行相同操作时,创建的Excel文件没有任何列或行,整个以Excel格式化的响应主体字符串被插入一个单元格中。
有人知道JS和ABAP之间的区别吗?
谢谢和最好的祝福!

1
我认为我们需要看到更多的代码,你尝试过使用 response->set_header_field( name = 'Content-Type' value = 'text/csv; charset=UTF-8' ). 吗? - tomdemuyt
1个回答

1
我使用这个示例:
* list1 is an internal table
 loop at list1 INTO wa .

CONCATENATE output WA-weekday WA-x  WA-DTEXT
       WA-SCHKZ WA-BEGTM WA-ENDTM 
          CL_ABAP_CHAR_UTILITIES=>CR_LF
          INTO output SEPARATED BY TAB .
 endloop.
* utf-16le , format for excel file
app_type1 = 'APPLICATION/MSEXCEL;charset=utf-16le'.
* convert string to xstring
CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
  EXPORTING
    text     = output
    mimetype = 'APPLICATION/MSEXCEL;charset=utf-16le'
  IMPORTING
    buffer   = l_xstring.

CONCATENATE cl_abap_char_utilities=>byte_order_mark_little
  l_xstring
  INTO l_xstring IN BYTE MODE.

CALL METHOD cl_bsp_utility=>download

  EXPORTING
    object_s            = l_xstring
    content_type        = app_type
    content_disposition = 'attachment;filename=webforms.xls'
    response            = response
    navigation          = navigation.

你可以在sdn上查看此线程: http://scn.sap.com/people/thomas.jung/blog/2004/08/09/bsp-download-to-excel-in-unicode-format

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接