FM:ALSM_EXCEL_TO_INTERNAL_TABLE 是上載Excel文件的一個函數,但是這個函數有兩個限制。
一是每個CELL只能導入前50個字符,二是如果超過9999行,行號會初始化爲從零開始
其實解決起來很簡單,只要改一下結構 ALSMEX_TABLINE 的字段就行了,然後COPY ALSM_EXCEL_TO_INTERNAL_TABLE 爲 ZALSM_EXCEL_TO_INTERNAL_TABLE ,並做少許改動即可。
另外,如果要上載有打開密碼保護的Excel,只要修改一下OLE的 OPEN 語句即可。
以及導入指定的Sheet等。。
注意COPY出來的函數的 Global Data 裏面應該有下列語句:
TYPE-POOLS: ole2.
TYPES: ty_d_itabvalue TYPE zalsmex_tabline-value,
ty_t_itab TYPE zalsmex_tabline OCCURS 0,
BEGIN OF ty_s_senderline,
line(4096) TYPE c,
END OF ty_s_senderline,
ty_t_sender TYPE ty_s_senderline OCCURS 0.
CONSTANTS: gc_esc VALUE '"'.