将多个 sheet Excel 上传到内部 table

Upload multiple sheet Excel into internal table

我有 Excel 文件,并且有多个工作表(多个工作表),因此我需要上传该工作表中的所有数据。此功能 'TEXT_CONVERT_XLS_TO_SAP' 不适用,因为仅上传活动工作表中的数据(只有一张工作表)。

你能把所有数据放在一个里面吗sheet?

你可以做一个宏左右,把sheet中的所有数据合并为一个,然后使用你评论的TEXT_CONVERT_XLS_TO_SAP。

祝你好运

我找到了这些。通常,它的工作方式是您提供到目前为止已经尝试过的代码以及出现问题的地方。寻求解决方案不是你在这里得到的东西,而是来自 google:

  1. https://archive.sap.com/discussions/thread/594226 --> 报告中的样本编码
  2. https://archive.sap.com/discussions/thread/3191410 --> 他们甚至提供样本报告
data: l_t_data   type w3mimetabtype,
      l_t_files  type filetable,
      l_rc       type i.

cl_gui_frontend_services=>file_open_dialog(
  exporting
    file_filter = '*.xlsx'
    default_filename = '*.xlsx'
  changing
    file_table = l_t_files
    rc = l_rc
).
check l_t_files[] is not initial.

cl_gui_frontend_services=>gui_upload(
  exporting
    filename = conv string( l_t_files[ 1 ]-filename )
    filetype = 'BIN'
  importing
    filelength = data(l_length)
  changing
    data_tab = l_t_data
).

try.
   data(l_r_xls) = new cl_fdt_xl_spreadsheet(
     document_name = conv string( l_t_files[ 1 ]-filename )
     xdocument = cl_fxs_converter=>w3mimetab_to_xstring( iv_w3mimetab = l_t_data iv_length = l_length )
   ).
catch cx_fdt_excel_core.
  assert 1 = 2.
endtry.

l_r_xls->if_fdt_doc_spreadsheet~get_worksheet_names( importing worksheet_names = data(l_t_worksheets) ).