DATA : 엑셀 TYPE의 OLE2_OBJECT ,
보건 TYPE의 OLE2_OBJECT ,
CELL의 유형 OLE2_OBJECT ,
통합 문서 TYPE의 OLE2_OBJECT ,
XLSNAME String 형의 VALUE 'C : \ sap_usr02.xls' ,
라인 TYPE I는 값 0 . "行号는
OBJECT EXCEL CREATE '이 Excel.Application'을 . "启动엑셀
IF SY -SUBRC NE 0 .
WRITE : / '启动엑셀失败.' .
STOP .
ENDIF .
통화 방법 . 엑셀의 '통합 문서의' = 통합 문서 .
설정 속성 . 엑셀 OF 'VISIBLE' = . 1 . "엑셀 볼 수 있도록
다음 SET 속성을 . 엑셀 OF 'SHEETSINNEWWORKBOOK' = . 1 . "읽기의 내용이 파일을 직접를 열고있다 능가하는 경우 제 책 페이지
는 CALL METHOD 통합 OF. '는 ADD' . "예를 들어.. 상기 방법은 엑셀 CALL '워크'1 = # 1 = 수출 1 시트
LOOP AT에 IT_DATA을 my_data INTO .
광고는 = 라인 +를 1. . "엑셀 행 번호를 시작. 하나
는 CALL 방법 . 엑셀 OF '는 CELLS' = 셀 수출 중 #. 1 = 광고 # 2 = . 1 . "셀 지정된
후 SET 속성 . 셀의 'VALUE의' = my_data -MANDT . 작성된 "가치
는 CALL METHOD . OF 엑셀 '셀'은 셀 = # 수출한다. 1 = 라인 # 2 = 2 . "셀 지정된
후 SET 속성 . 셀의 '값' = my_data -BNAME . "기록 값
CALL을 상기 방법 . 엑셀 OF '는 세포의 세포 = 1. # 내보내기를 = 광고 # 2 = 3. . "지정된 셀,
다음 SET 속성 . 셀의 'VALUE의 ' = my_data -ERDAT . "에 기록 된 값
는 CALL 방법 . 엑셀 OF '는 세포의 세포 = # 수출을 . (1) = 라인 # 2 = . 4 . "셀 지정된
후 SET 속성 . 셀의 '값' = my_data -LTIME . "값 기록
ENDLOOP .
는 GET을 재산 EXCEL의 'ActiveSheet' = SHEET는 . "통합 문서가 활성화
GET 재산을 Excel에서 '는 ActiveWorkbook' = 통합 문서를 . "작업 공간 활성화
CALL 방법 통합 문서 'SAVEAS' 수출 1 = XLSNAME # 2 = 1 . "엑셀 파일 저장
CALL을 방법 통합 문서 'CLOSE' . "작업 공간을 닫고
전화를 방법 EXCEL의는 '끝내기' . '출구 엑셀
* WRITE :. / XLSNAME가 ' 완료' " 성공적으로 종료는 출력 DONE
자유로운 시트 OBJECT . 운영 자료"
자유로운 개체 통합 문서를 .
자유를 OBJECT EXCEL을 .
다른 방법 :
디렉토리
- 1. 기능 : GUI_DOWNLOAD
- 3. 기능 : MS_EXCEL_OLE_STANDARD_DAT
- 4. BE
- 5. 기능 : XXL_FULL_API
- 6. ABAP2XLSX
- 제 XLSX 작업대
1. 기능 : GUI_DOWNLOAD
방법을 GUI_DOWNLOAD CL_GUI_FRONTEND_SERVICES : 이것은 기본적인 방법, 해당 클래스
참고 파일 이름 매개 변수 확장 XLS를해야한다, 그래서 당신은 엑셀 형식으로 저장할 수 있습니다 저장할 때. 다음 예는 다음과 같다 :
1 DATA : 헤더 라인 마라의 ITAB LIKE 표.
그리고 0 출력됩니다 문자를 선도. 26 코드 페이지 = '8404'
27 TABLES
28 data_tab ITAB =
29 = fieldName에의에 t_fieldnames.
이 기능은 비교적 간단하지만 FILETYPE DAT와 ASC는, 결과 파일을 엑셀로 열 때 다음과 같은 대화 상자가 나타납니다 :
그 이유는이를보고 매우 쉬울 것이다는 ASC를 유지하고 DAT는 EXCEL 형식, TXT에 확장자가 일치하지 않는 사실 TXT 형식의 테이블을 포맷합니다.
2. 기능 : SAP_CONVERT_TO_XLS_FORMAT
이 FM 기능 GUI_DOWNLOAD 유사한 지원 XLSX 형식 :
SELECT * UP 10 행 표 @DATA (gt_temp) INTO sflight FROM.
CALL 기능 'SAP_CONVERT_TO_XLS_FORMAT'
수출
i_filename = 'C : SAP \ QQ1.XLSX \'
테이블
i_tab_sap_data = gt_temp
예외
conversion_failed = 1
기타 = 2.
SY-subrc <> 0 IF.
* 여기서 적절한 오류 처리를 구현
ENDIF.
3. 기능 : MS_EXCEL_OLE_STANDARD_DAT
그러나 직접 EXCEL 파일을 엽니 다. 뿐만 아니라 수있는 FM EXCEL이 데이터,
그러나이 함수는 단점이있다 : 중국은 EXCEL로 데이터를 가져올 및 중국어 프로그램을 운영하는 GUI 로그인을해야합니다 때, 그렇지 않으면 중국은 '#'기호가 될 것이다.
1 개 데이터 : 0 it_fieldnames 발생 OF, BEGIN
2
3 이름 유형 char20,
4
it_fieldnames 5 END한다.
6
7 it_fieldnames 이름 = '회사 코드'.
8
9 APPEND의 it_fieldnames.
10
11 it_fieldnames 이름 = '기능 영역'.
(12)
(13)를 추가 it_fieldnames.
14
15 it_fieldnames-NAME = '5'. "针对非C, N, D, T类型列的列名,函数有버그
16
17 APPEND의 it_fieldnames.
18
19 CALL FUNCTION 'MS_EXCEL_OLE_STANDARD_DAT'
20 수출
21 FILE_NAME = 'C : \ johnson.XLSX'
(22) = 0 * CREATE_PIVOT
23 * DATA_SHEET_NAME = '
24 * PIVOT_SHEET_NAME = '
25 * PASSWORD ='
26 * pASSWORD_OPTION = 0
27 TABLES
28 * PIVOT_FIELD_TAB =
29 data_tab = ITAB
30 fieldName에가 = it_fieldnames
31 * EXCEPTIONS
32 * FILE_NOT_EXIST = 1
33 * FILENAME_EXPECTED = 2
34 * cOMMUNICATION_ERROR = 3
35 oLE_OBJECT_METHOD_ERROR * 4 =
36 * 5 = OLE_OBJECT_PROPERTY_ERROR
37 INVALID_PIVOT_FIELDS * 6 =
38 * 7 DOWNLOAD_PROBLEM =
39 * OTHERS = 8
설명 :이 FM 응용 프로그램 문제는 주목해야한다 :
변환이 덤프 실패하는 경우 1 개의 fieldName 데이터 유형은, 유형의 대응하는 칼럼을 강요한다
2, 행 또는 더 많은 통화에서 두 번 이상, 열 이름은 데이터 영역으로 이동한다면
그 이전의 함수가 될 것 같다, 이름은 EXCEL_OLE_STANDARD_DAT 비슷한 방법을 달성 할 수있다. 그러나 일부 테이블에이 기능이 "데이터가 유니 코드 프로그램으로 변환 할 수 없습니다"오류가보고됩니다, 그래서 최신 기능을 사용하는 것이 좋습니다.
4. BE
본 실시 예에서는 상기 비교 EXCEL 여러 형태를 정의 할 수있는 것이 유리하지만, 더 복잡하다.
: 구현이 문서를 참조하십시오 http://www.cnblogs.com/hhelibeb/p/5787396.html을
5. 기능 : XXL_FULL_API
동일 EXCEL 형식을 달성 할 수 있고, OLE 속도 장점 비교. XXLTTEST, XXLSTEST, XXLFTEST : 몇 가지 참고 예 SE38이 있습니다
6. ABAP2XLSX
이 패키지는 클래스, 그룹 결합 설정된 정렬 포함 EXCEL ABAP 클래스에 데이터를 도입하기위한 전용 팬을 개발, 폰트, 색상 등 간단한 OLE 모드에 비해 객체 지향적이기 때문에, 프로그래밍은 더 많은 노력이 될 것입니다.
당신이 EXCEL 형식을 사용자 정의해야 할 때 사용 할 수있다.
특히 참조 이 문서
제 XLSX 작업대
는 OLE 단지에 비해 시각적 형태로 생성 도구는, 보고서는 코드 + EXCEL 일부 드래그 구성 및 더 나은 성능의 소량 생성 할 수 있습니다. XLSX 작업대는 문서 설명에 의하면, 구 개 특성을 갖는다 :
- 필요에 ABAP 프로그래밍 기술하지
- 시각 디자인 접근 방식
- 고성능
- 지원 배경 처리
- 강력한 기능 지원 양식 형식
- 지원 식
- 지원 사진
- 차트 지원
- 지원 트리
공식 문서 : https://sites.google.com/site/sapxlwb/home
이 영상 편집기 정말 편리합니다 때문에 XLSX 워크 벤치는, 내 눈에서 선호하는 솔루션입니다. 이 도구를 사용하여 개발자는 단순히 컨텍스트 데이터 구조로 설계하고 상황에 맞는, 당신은 엑셀 파일을 생성 할 수있는 시각화 도구에서 특정 셀에 결합 :
자료 : l_data TYPE의 zcontext.
CALL 기능 'ZXLWB_CALLFORM'
수출
iv_formname = 'ZXLWBFORM'
iv_context_ref = l_data
예외
기타 = 2.
IF 및 subrc의 NE 0.
MESSAGE의 ID 및 MSGID-TYPE과 상사의 NUMBER의 msgno
측면 msgv1 측면 msgv2 측 msgv3 측 msgv4 함께.
ENDIF.