300x250
728x90

# Excel Upload 블로그


# Excel Upload 할 때에는 다양한 로직들이 있다.

 

# 제가 정리한 것만으로도 두 가지가 있다.

2023.07.25 - [.SAP/..ABAP] - SAP Excel Upload 정리

 

SAP Excel Upload 정리

Excel Upload란말 그대로 Excel 파일을 CBO 테이블이나 Standard 프로그램에 업로드, 조회하기 위해서 필요한 업로드 기능이다. 이번 블로그에서 볼 것은 Excel 파일을 ALV( Internal Table ) 옮기는 작업을 알

potato98.tistory.com

 

2024.08.13 - [.SAP/..ABAP] - SAP Excel Upload( Web GUI ) 정리

 

SAP Excel Upload( Web GUI ) 정리

# Web GUI 말고 GUI 2023.07.25 - [.SAP/..ABAP] - SAP Excel Upload 정리 SAP Excel Upload 정리Excel Upload란말 그대로 Excel 파일을 CBO 테이블이나 Standard 프로그램에 업로드, 조회하기 위해서 필요한 업로드 기능이다

potato98.tistory.com

 

 

# ABAP2XLSX 설치


# ABAP2XSLX 설치하려면 다음 링크를 눌러보자.

2024.09.04 - [.SAP/..ABAP] - SAP ABAP2XLSX 설치( ABAPGIT )

 

SAP ABAP2XLSX 설치( ABAPGIT )

# 00. ABAP2XLSX 설치하기 전# ABAP GIT이 설치가 완료되어있어야 하기 때문에 설치가 안되었다면 다음 링크를 타서 설치해 보자.2024.09.03 - [.SAP/..ABAP] - SAP AbapGit 설치 SAP AbapGit 설치#00. ABAPGIT...# 프로젝

potato98.tistory.com

 

# 시작하기 전 


# 밑에 사진처럼 나오게 하는 것은 생략하겠다. 궁금하다면 밑에 블로그를 확인하자.

 

2023.07.10 - [.SAP/..ABAP] - SAP 파일 선택 or 파일 경로 알아보기

 

SAP 파일 선택 or 파일 경로 알아보기

... 프로그램을 만들면서 Excel 업로드 or Excel 다운로드 등등 컴퓨터 파일에 저장을 하는 경우도 있을 테고, 컴퓨터 파일을 선택할 때가 있을 것이다. 거기서 필요한 것을 알아볼 것이다. 알아보기

potato98.tistory.com

 

# 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건너뛰고 읽겠다라고 보면 될 것 같다. 

만약 Title2개를 차지한다고 하면 [ IV_SKIPPED_ROWS = 2 ]라고 쓰면 된다.

 

# 05. 그럼 끝이다..! 

# 사실 엑셀 데이터정제해서 가져다 써야 하지만 그 과정 생략하겠다. 

 

# 실행을 해보면 다음과 같이 나오게 된다!! 

 

# 정말 끝..! 

 

도움이 되셨으면 하단에 있는 광고 한번씩 눌러주세유!!

728x90