Abap 将Excel导入具有相同布局的内部表

Abap 将Excel导入具有相同布局的内部表,abap,import-from-excel,Abap,Import From Excel,我知道功能模块ALSM\U EXCEL\U到内部表。此FM创建一个包含三列(行、列、值)的内部表。但是我想创建一个内部表格,它的布局与我的Excel表格相同。我怎样才能做到这一点 如果您使用FM ALSM\u EXCEL\u将数据上传到\u INTERNAL\u表格,您可以循环浏览此FM使用的内部表格(您提到的带有行、列、值的表格)并填写您自己的内部表格(看起来像EXCEL表格)因此。如果您在前台上传excel,您可以使用class cl\u mass\u电子表格服务。请参见下面的示例代码: D

我知道功能模块ALSM\U EXCEL\U到内部表。此FM创建一个包含三列(行、列、值)的内部表。但是我想创建一个内部表格,它的布局与我的Excel表格相同。我怎样才能做到这一点

如果您使用FM ALSM\u EXCEL\u将数据上传到\u INTERNAL\u表格,您可以循环浏览此FM使用的内部表格(您提到的带有行、列、值的表格)并填写您自己的内部表格(看起来像EXCEL表格)因此。

如果您在前台上传excel,您可以使用class cl\u mass\u电子表格服务。请参见下面的示例代码:

DATA:
    lv_file      TYPE if_mass_spreadsheet_types=>file_name,
    lt_result    TYPE STANDARD TABLE OF zsd_salesorder_create. "your result table

lv_file = 'C:\some_file.xlsx'.

cl_mass_spreadsheet_service=>fill_table(
    EXPORTING
        iv_file                     = lv_file   "full path+name of file. See method navigate_to_file below
        iv_from_file                = abap_true "use to upload from excel/CSV
        iv_from_clipboard           = abap_false "use to copy directly from clipbiard
        iv_tabname                  = 'Order_Create' "can be whatever
    CHANGING
        ct_table                    = lt_result "if ct_table have the same column names as the excel file, the order of the columns does not matter
).
你可以用 cl\U质量\u电子表格\u服务=>从\u文件导入\u 也可以,但没有ddic结构


不幸的是,这些方法实际上会打开并显示EXCEL…

这个类需要DDIC结构,所以这不是完全动态的结构解决方案,但无论如何是功能性的!比我看到的更好,干杯!还值得一提的是,这个类只出现在7.40之后,它不存在于7.31和更旧的系统中。