将单元格长度> 32 个字符的电子表格数据读取到 itab 中



我试图读取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个字符的单元格

相关内容

  • 没有找到相关文章

最新更新