안녕하세요!!
엑셀파일 업로드 다운로드를 하려구하는데....막막하네요!!
어디선 펑션뭐쓰면 된다구 알려주시는데
정말죄송하지만 예제소스나 자세한 조언좀 부탁드려요!!
댓글 4
-
Best ABAP
2008.04.02 02:28
-
초보아밥퍼
2008.04.02 02:45
이외에도 각 용도에 따라 각 FUNCTION들을 이용하셔서 업 다운이 가능하십니다.
꼭 이것이 정답이란건 없습니다. ^^; 자료실에 있나는 잘 모르겠네요
-
genius
2008.04.02 02:51
조언감사해요!!
그런데 업로드할때 엑셀파일과 인터널테이블을 일치시킨다거나 뭐
더 방법이 있는것같은데 무작정 업로드한다고 될것같진않은데요
가능하다면 조언부탁드려요^^
-
초보아밥퍼
2008.04.02 17:24
저는 업로드를 요렇게 사용한답니다...
PERFORM UPLOAD_EXCEL_FILE TABLES ITAB<-- 인터널 테이블
USING FILE_NAME
'1'
'3'
'50'
'9999'.
FORM UPLOAD_EXCEL_FILE TABLES P_TABLE
USING P_FILE
P_SCOL
P_HCOL
P_ECOL
P_EROW.
DATA : L_INTERN_T TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
DATA : L_VALUE LIKE L_INTERN_T-VALUE.
DATA : LD_INDEX TYPE I.
FIELD-SYMBOLS : <F>.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = P_FILE
I_BEGIN_COL = P_SCOL <----행 엑셀시트의
I_BEGIN_ROW = P_HCOL <----열 엑셀시트의
I_END_COL = P_ECOL <----끝행 엑셀시트의
I_END_ROW = P_EROW <---끝열 엑셀시트의
TABLES
INTERN = L_INTERN_T
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 L_INTERN_T[] IS INITIAL.
FORMAT COLOR COL_BACKGROUND INTENSIFIED.
WRITE:/ 'No Data Uploaded'.
EXIT.
ELSE.
SORT L_INTERN_T BY ROW COL.
LOOP AT L_INTERN_T.
MOVE L_INTERN_T-COL TO LD_INDEX.
ASSIGN COMPONENT LD_INDEX OF STRUCTURE P_TABLE TO <F>.
MOVE L_INTERN_T-VALUE TO <F>.
AT END OF ROW.
APPEND P_TABLE.
CLEAR P_TABLE.
ENDAT.
ENDLOOP.
ENDIF.
ENDFORM. " UPLOAD_EXCEL_FILE
데이터는 순차적으로
엑셀시트 AA BB CC DD
인터널테이블 1필드 2필드 3필드 4필드
AA BB CC DD
다시 말씀드리지만 용도에따라 FUNCTION 은 많습니당.. 어느상황이냐에따라 적절한 UPDOWN 을 결정하셔야 될겁니다.
도움이 되셨길...