2013-11-25 77 views
2

我想通過HTTP請求將數據導出到Excel文件。我有一個實現請求處理程序接口的類。ABAP HTTP請求處理程序:將數據導出到Excel

我響應主體設置爲類似: 「頭1 \噸HEADER2 \噸\ n內容1 \噸內容2 \噸\ n」個

的內容類型是「應用程序/ msexcel的;字符集=異8859-2" 。

Conten-配置被設置爲「附件;文件名= Excel.xls」

這種方法被用於服務器端Javascript應用程序的工作很好。但是當在ABAP中做同樣的事情時,創建的Excel文件根本沒有列或行。整個excel格式的響應正文字符串被插入到一個單元格中。

有誰知道,JS和ABAP有什麼區別?

謝謝,最好問候!

+0

我認爲,我們需要看到更多一點的代碼,你有沒有試着用'響應 - > set_header_field (name ='Content-Type'value ='text/csv; charset = UTF-8')。「? – tomdemuyt

回答

0

我用這個例子:

* 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