Abap 用80+的单元值加载xls;来自前端的字符

Abap 用80+的单元值加载xls;来自前端的字符,abap,xls,sap-erp,Abap,Xls,Sap Erp,我需要通过SAPGUI读取excel文件(不是成批读取,也不是从服务器读取)。 只有一个工作表/文件,不是csv文件 我知道有一些功能模块可以做到这一点,但它们的单元格大小限制为每个单元格32、40或50个字符 是否有功能模块或类/方法允许我读取单元格较长的excel文件? 较长的意思是:字符串或由调用方定义,或至少80 编辑 我在其他单元格大小不太重要的项目中成功地使用了ALSM_EXCEL_到_INTERNAL_表。此模块读入一个结构ALSMEX表格,该表格将数据限制为50个字符 KCD_E

我需要通过SAPGUI读取excel文件(不是成批读取,也不是从服务器读取)。 只有一个工作表/文件,不是csv文件

我知道有一些功能模块可以做到这一点,但它们的单元格大小限制为每个单元格32、40或50个字符

是否有功能模块或类/方法允许我读取单元格较长的excel文件? 较长的意思是:字符串或由调用方定义,或至少80

编辑

我在其他单元格大小不太重要的项目中成功地使用了ALSM_EXCEL_到_INTERNAL_表。此模块读入一个结构ALSMEX表格,该表格将数据限制为50个字符


KCD_EXCEL_OLE_TO_INT_CONVERT将读取内容转换为一个表,每个单元格包含32个字符。

没错,功能模块“ALSM_EXCEL_TO_INTERNAL_table”只能管理50个字符。在这种情况下,一个标准的替代方法是使用我使用过的功能模块“GUI_UPLOAD”,但在这种情况下,您必须将excel文件转换为cvs文件,这不是您真正想要的

根据,另一种选择是创建一份“ALSM\u EXCEL\u to\u INTERNAL\u TABLE”的副本,然后创建一份结构“ALSMEX\u TABLINE”的副本

新结构的结构字段“值”必须更改为所需的长度,然后“ALSM\u EXCEL\u to\u INTERNAL\u TABLE”的副本将使用“ALSMEX\u TABLINE”的新结构

我还没有尝试过这个解决方案,但可能对你有用


希望有帮助。

您可以使用
文件读取和转换SAP数据来实现此目的。它的输出表单元格限制为256个字符,这对您来说已经足够了。代码示例如下所示:

TYPES: tv_data(256)  TYPE c,
       BEGIN OF ts_data,
        value_0001 TYPE tv_data,
        ...
        value_0020 TYPE tv_data,
       END OF ts_data,
       tt_data     TYPE TABLE OF ts_data.

DATA: lv_fname TYPE filename-fileintern,
      pt_data TYPE tt_data.

lv_fname = 'C:\test.xls'.
CALL FUNCTION 'FILE_READ_AND_CONVERT_SAP_DATA'
 EXPORTING
  i_filename           = lv_fname
  i_servertyp          = 'OLE2'
  i_fileformat         = 'XLS'
 TABLES
  i_tab_receiver       = pt_data
 EXCEPTIONS
  file_not_found       = 1
  close_failed         = 2
  authorization_failed = 3
  open_failed          = 4
  conversion_failed    = 5
  OTHERS               = 6.

IF sy-subrc <> 0.
* error handling
ENDIF.
类型:tv_数据(256)类型c,
从ts_数据开始,
值0001类型电视数据,
...
值\u 0020类型电视\u数据,
结束ts_数据,
ts_数据的tt_数据类型表。
数据:lv_fname类型文件名fileintern,
pt_数据类型tt_数据。
lv_fname='C:\test.xls'。
调用函数“文件读取和转换SAP数据”
出口
i\u filename=lv\u fname
i_servertyp='OLE2'
i_fileformat='XLS'
桌子
i_选项卡_接收器=pt_数据
例外情况
文件未找到=1
关闭\u失败=2
授权失败=3
打开\u失败=4
转换_失败=5
其他=6。
如果sy subrc为0。
*错误处理
恩迪夫。

您能告诉我们您到目前为止尝试了什么吗?不使用csv的原因是文件是由最终用户创建的,可能包含与分隔符冲突的特殊字符。复制ALSM\u EXCEL\u到\u INTERNAL\u表的解决方案听起来不错。我试试看。