我试图读取Excel文件到我的单元格值超过32个字符的内部表。我使用函数KCD_EXCEL_OLE_TO_INT_CONVERT来读取文件。我已经尝试使用SE37和SE80复制功能模块和表,但它不会让我保存一个名为ROW的值表。是否有一个更好的功能模块,我没有看到,或者有一种方法,我可以使表和FM的Z_副本,让我改变值列的长度在一个kcde_cells格式的表?我的程序可以做所有事情,除了读取第33个及以上的字符,所以我知道其余的功能是好的。我只需要让读取值的长度变长,以适应更长的单元格内容。
编辑:添加我用来上传文件的代码。
CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
EXPORTING
filename = infile "Input file.
i_begin_col = st_col
i_begin_row = st_row
i_end_col = e_col
i_end_row = e_row
TABLES
intern = ttab "Internal table for storing the Excel data.
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
FORMAT COLOR COL_BACKGROUND INTENSIFIED.
WRITE:/ 'Error Uploading file'.
EXIT.
ENDIF.
IF ttab[] IS INITIAL. "Internal table is empty.
FORMAT COLOR COL_BACKGROUND INTENSIFIED.
WRITE:/ 'No Data Uploaded'.
EXIT.
ELSE.
SORT ttab BY row col.
LOOP AT ttab.
MOVE ttab-col TO index.
ASSIGN COMPONENT 'ROW' OF STRUCTURE itab TO <fs>.
MOVE ttab-row TO <fs>.
ASSIGN COMPONENT 'COL' OF STRUCTURE itab TO <fs>.
MOVE ttab-col TO <fs>.
ASSIGN COMPONENT 'VALUE' OF STRUCTURE itab TO <fs>.
MOVE ttab-value TO <fs>.
APPEND itab.
CLEAR itab.
ENDLOOP.
ENDIF.
正如我在类似问题中所述,使用FM FILE_READ_AND_CONVERT_SAP_DATA
。它允许读取长度为256个字符的单元格