300x250
728x90
# Excel Upload 블로그
# Excel Upload 할 때에는 다양한 로직들이 있다.
# 제가 정리한 것만으로도 두 가지가 있다.
2023.07.25 - [.SAP/..ABAP] - SAP Excel Upload 정리
2024.08.13 - [.SAP/..ABAP] - SAP Excel Upload( Web GUI ) 정리
# ABAP2XLSX 설치
# ABAP2XSLX 설치하려면 다음 링크를 눌러보자.
2024.09.04 - [.SAP/..ABAP] - SAP ABAP2XLSX 설치( ABAPGIT )
# 시작하기 전
# 밑에 사진처럼 나오게 하는 것은 생략하겠다. 궁금하다면 밑에 블로그를 확인하자.
2023.07.10 - [.SAP/..ABAP] - SAP 파일 선택 or 파일 경로 알아보기
# Excel Upload 로직 정리( ABAP2XLSX )
# 정리한 글 중에서도 설치는 어렵지만 로직은 쉽기 때문에 한번 알아보자.
# 우선 올릴 파일은 SCARR Table 엑셀 파일이다.
# TOP #
# 01. 우선 엑셀 데이터를 받을 인터널 테이블을 선언해야 한다.
- 여기서 중요한 것은 필드의 순서와 데이터 타입을 잘 선언해 보자.
# START-OF-SELECTION #
# 01. Excel Upload을 위한 데이터를 선언해 보자.
DATA: lo_excel TYPE REF TO zcl_excel,
lo_reader TYPE REF TO zif_excel_reader,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
lo_salv TYPE REF TO cl_salv_table,
lo_root TYPE REF TO cx_root.
# 02. TRY문으로 덤프 방지를 하고, 앞에서 선언했던 [ 파일 경로 ]를 다음과 같이 넣어보자.
TRY.
" 파일 경로 설정 "
CREATE OBJECT lo_reader TYPE zcl_excel_reader_2007.
lo_excel = lo_reader->load_file( p_file ).
CATCH cx_root INTO lo_root.
MESSAGE lo_root TYPE 'I' DISPLAY LIKE 'E'.
ENDTRY.
# 03. 이번에 설정하는 것은 Sheet 설정이다.
" Sheet 설정 "
lo_worksheet = lo_excel->get_worksheet_by_index( iv_index = 2 ).
# 예를 들어) Sheet가 여러 개 있을 경우에 읽어오고 싶은 Sheet 몇 번째의 숫자를 넣으면 된다.
만약 다음과 같이 "Sheet2"을 읽어오고 싶을 때에는 다음과 같이 넣으면 된다.
# 04. 이제 엑셀에서 인터널 테이블로 가져오는 로직이다.
# GET_TABLE Method을 자세히 보시면 이러한 옵션이 있기 때문에 상황에 맞춰서 잘 사용해 보자.
여기서 사용한 ( LV_SKIPPED_ROWS )은 상단에 있는 Title를 건너뛰고 읽겠다라고 보면 될 것 같다.
만약 Title가 2개를 차지한다고 하면 [ IV_SKIPPED_ROWS = 2 ]라고 쓰면 된다.
# 05. 그럼 끝이다..!
# 사실 엑셀 데이터를 정제해서 가져다 써야 하지만 그 과정은 생략하겠다.
# 실행을 해보면 다음과 같이 나오게 된다!!
# 정말 끝..!
728x90
'.ABAP > ..Excel, EMail' 카테고리의 다른 글
SAP Excel Marco 확인 방법 (0) | 2025.01.15 |
---|---|
SAP Excel 양식 다운로드( Web GUI 포함 ) (2) | 2024.12.10 |
SAP E-Mail(이메일) 발송 ( EXCEL, PDF 첨부파일 ) (0) | 2024.11.12 |
SAP 타임스태프( 엑셀 -> SAP ) 변경 (1) | 2024.11.09 |
SAP ABAP2XLSX 설치( ABAPGIT ) (2) | 2024.09.04 |