Загрузите документ Excel, созданный с помощью класса CL_XLSX_DOCUMENT - PullRequest
0 голосов
/ 04 апреля 2019

Моя программа ниже создает документ Excel, созданный с классом CL_XLSX_DOCUMENT, который содержит два листа.

Как я могу загрузить документ Excel на свой ноутбук?

lo_worksheetpart ?= lo_workbookpart->get_worksheetparts( )->get_part( lv_line_no_loop ).
lo_worksheetpart_1 ?= lo_workbookpart->add_worksheetpart( ).

lv_sheetxml = lo_worksheetpart->get_data(  ).
lv_sheetxml_2 = lo_worksheetpart_1->get_data(  ).

lo_sharedstringspart = lo_workbookpart->get_sharedstringspart( ).
lv_sharedxml = lo_sharedstringspart->get_data( ).

"Parse and replace
if lt_nameval is not initial.
lv_resultxml = update_shared_string_1(
  EXPORTING
    iv_xml             = lv_sharedxml
    iv_node            = co_shared_string
    it_nameval         = lt_nameval ).

"write new excel
lo_sharedstringspart->feed_data( lv_resultxml ).

lv_resultxml = update_sheet_data_1(
  EXPORTING
    iv_xml             = lv_sheetxml
    iv_node            = co_sheet_data
    it_days            = lt_days
    it_nameval         = lt_nameval ).

"write new excel
lo_worksheetpart->feed_data( lv_resultxml ).
endif.

1 Ответ

0 голосов
/ 11 апреля 2019

Я использую следующее:

DATA: 
      lv_fsize          TYPE i,
      lt_data           TYPE tsfixml,
      lv_resultxml      TYPE xstring.

CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
  EXPORTING
    buffer        = lv_resultxml
  IMPORTING
    output_length = lv_fsize
  TABLES
    binary_tab    = lt_data.

CALL METHOD cl_gui_frontend_services=>gui_download
  EXPORTING
    bin_filesize            = lv_fsize
    filetype                = 'BIN'
    filename                = 'C:\Temp\filename.xlsx
  CHANGING
    data_tab                = lt_data
...