通过 ALSM_EXCEL_TO_INTERNAL_TABLE 上传Excle中资料有个限制就是单个字段的大小最大为50个字符。
所以对于有些备注类的就不行了, 用下面的方式, 就没这个限制了。
*&---------------------------------------------------------------------*
*& Report Z_AF_088
*&
*&---------------------------------------------------------------------*
REPORT z_af_088
LINE-COUNT 10
LINE-SIZE 1000.
INCLUDE ole2incl.
*定义OLE变量
DATA:excel TYPE ole2_object,
sheet TYPE ole2_object,
cell TYPE ole2_object,
workbook TYPE ole2_object.
DATA: BEGIN OF itab OCCURS 0,
a(224),
b(224),
c(224),
d(224),
END OF itab.
DATA:val1(224) TYPE c.
DATA: r1 TYPE i,
r2 TYPE i.
DATA: cnt TYPE i.
*输入文件名参数
PARAMETERS:fn1 LIKE rlgrap-filename MEMORY ID m01.
START-OF-SELECTION.
PERFORM upload_from_pc USING fn1.
DESCRIBE TABLE itab LINES cnt.
WRITE: cnt.
LOOP AT itab.
WRITE: / itab-a.
WRITE: itab-b.
WRITE: itab-c.
WRITE: itab-d.
ENDLOOP.
*&---------------------------------------------------------------------*
*& Form UPLOAD_FROM_PC
*&---------------------------------------------------------------------*
FORM upload_from_pc USING p_path.
FIELD-SYMBOLS : .
DATA: vf_index TYPE i.
data: cnt type i.
*启动excel
CREATE OBJECT excel 'EXCEL.APPLICATION'. "创建excel对象
CALL METHOD OF excel 'WORKBOOKS' = workbook. "调用excel的方法
IF sy-subrc NE 0 .
WRITE : / 'EXCEL 错误!'.
LEAVE PROGRAM.
ENDIF.
SET PROPERTY OF excel 'VISIBLE' = 0. "设置读取Excel时, 是否可视
*EXCEL 文件打开
CALL METHOD OF
workbook
'OPEN'
EXPORTING
#1 = p_path.
IF sy-subrc NE 0 .
WRITE : / '处理错误!'.
LEAVE PROGRAM.
ENDIF.
*第一页
CALL METHOD OF
excel
'WORKSHEETS' = sheet
EXPORTING
#1 = 1.
*读取前10行4列
DO 10 TIMES.
r1 = sy-index.
DO 4 TIMES.
r2 = sy-index.
MOVE sy-index TO vf_index.
ASSIGN COMPONENT vf_index OF STRUCTURE itab TO .
CALL METHOD OF "指定单元格,并读取值属性
excel
'CELLS' = cell
EXPORTING
#1 = r1
#2 = r2.
GET PROPERTY OF cell 'VALUE' = val1. "读取excel文件中的内容是用get property of excel
CONDENSE val1.
IF val1 EQ space.
cnt = cnt + 1.
ENDIF.
MOVE val1 TO .
IF r2 EQ 4.
IF cnt <> 4.
APPEND itab.
CLEAR itab.
ENDIF.
CLEAR cnt.
ENDIF.
ENDDO.
ENDDO.
****关闭WORKBOOK
CALL METHOD OF
workbook
'CLOSE'.
****释放对象****
FREE OBJECT cell.
FREE OBJECT workbook.
ENDFORM. " UPLOAD_FROM_PC