SAP ABAP如何将内表的数据导出到EXCEL
2017-03-16 09:08
1286 查看
作者: SAP道长
将内表的数据导出到EXCEL
REPORT ZTEST08.
DATA: BEGIN OF MY_DATA,
MANDT LIKE USR02-MANDT,
BNAME LIKE USR02-BNAME,
ERDAT LIKE USR02-ERDAT,
LTIME LIKE USR02-LTIME,
END OF MY_DATA.
DATA: IT_DATA LIKE MY_DATA OCCURS 0.
SELECT USR02~MANDT USR02~BNAME USR02~ERDAT USR02~LTIME
APPENDING TABLE IT_DATA
FROM USR02
UP to 100 rows.
*排序
SORT IT_DATA BY BNAME.
INCLUDE OLE2INCL. "定义OLE变量
DATA: EXCEL TYPE OLE2_OBJECT,
SHEET TYPE OLE2_OBJECT,
CELL TYPE OLE2_OBJECT,
WORKBOOK TYPE OLE2_OBJECT,
XLSNAME TYPE STRING VALUE 'C:\sap_usr02.xls',
LINE TYPE I VALUE 0. "行号
CREATE OBJECT EXCEL 'EXCEL.APPLICATION'."启动Excel
IF SY-SUBRC NE 0.
WRITE: / '启动Excel失败。'.
STOP.
ENDIF.
CALL METHOD OF EXCEL 'WORKBOOKS' = WORKBOOK.
SET PROPERTY OF EXCEL 'VISIBLE' = 1. "使excel 可视
SET PROPERTY OF EXCEL 'SHEETSINNEWWORKBOOK' = 1. "如果是读取excel文件中的内容 则是直接打开工作簿第一页
CALL METHOD OF WORKBOOK 'ADD'. "例如:CALL METHOD OF EXCEL 'WORKSHEETS' = SHEET EXPORTING #1 = 1.
LOOP AT IT_DATA INTO MY_DATA.
LINE = LINE + 1. "Excel 中行号从1开始
CALL METHOD OF EXCEL 'CELLS' = CELL EXPORTING #1 = LINE #2 = 1. "指定单元格,
SET PROPERTY OF CELL 'VALUE' = MY_DATA-MANDT. "写入值
CALL METHOD OF EXCEL 'CELLS' = CELL EXPORTING #1 = LINE #2 = 2. "指定单元格,
SET PROPERTY OF CELL 'VALUE' = MY_DATA-BNAME. "写入值
CALL METHOD OF EXCEL 'CELLS' = CELL EXPORTING #1 = LINE #2 = 3. "指定单元格,
SET PROPERTY OF CELL 'VALUE' = MY_DATA-ERDAT. "写入值
CALL METHOD OF EXCEL 'CELLS' = CELL EXPORTING #1 = LINE #2 = 4. "指定单元格,
SET PROPERTY OF CELL 'VALUE' = MY_DATA-LTIME. "写入值
ENDLOOP.
GET PROPERTY OF EXCEL 'ACTIVESHEET' = SHEET. "激活工作簿
GET PROPERTY OF EXCEL 'ACTIVEWORKBOOK' = WORKBOOK. "激活工作区
CALL METHOD OF WORKBOOK 'SAVEAS' EXPORTING #1 = XLSNAME #2 = 1. "将excel文件保存
CALL METHOD OF WORKBOOK 'CLOSE'. "关闭工作区
CALL METHOD OF EXCEL 'QUIT'. "退出excel
*WRITE:/ XLSNAME,'DONE'. "退出成功,输出done
FREE OBJECT SHEET. "释放操作
FREE OBJECT WORKBOOK.
FREE OBJECT EXCEL.
将内表的数据导出到EXCEL
REPORT ZTEST08.
DATA: BEGIN OF MY_DATA,
MANDT LIKE USR02-MANDT,
BNAME LIKE USR02-BNAME,
ERDAT LIKE USR02-ERDAT,
LTIME LIKE USR02-LTIME,
END OF MY_DATA.
DATA: IT_DATA LIKE MY_DATA OCCURS 0.
SELECT USR02~MANDT USR02~BNAME USR02~ERDAT USR02~LTIME
APPENDING TABLE IT_DATA
FROM USR02
UP to 100 rows.
*排序
SORT IT_DATA BY BNAME.
INCLUDE OLE2INCL. "定义OLE变量
DATA: EXCEL TYPE OLE2_OBJECT,
SHEET TYPE OLE2_OBJECT,
CELL TYPE OLE2_OBJECT,
WORKBOOK TYPE OLE2_OBJECT,
XLSNAME TYPE STRING VALUE 'C:\sap_usr02.xls',
LINE TYPE I VALUE 0. "行号
CREATE OBJECT EXCEL 'EXCEL.APPLICATION'."启动Excel
IF SY-SUBRC NE 0.
WRITE: / '启动Excel失败。'.
STOP.
ENDIF.
CALL METHOD OF EXCEL 'WORKBOOKS' = WORKBOOK.
SET PROPERTY OF EXCEL 'VISIBLE' = 1. "使excel 可视
SET PROPERTY OF EXCEL 'SHEETSINNEWWORKBOOK' = 1. "如果是读取excel文件中的内容 则是直接打开工作簿第一页
CALL METHOD OF WORKBOOK 'ADD'. "例如:CALL METHOD OF EXCEL 'WORKSHEETS' = SHEET EXPORTING #1 = 1.
LOOP AT IT_DATA INTO MY_DATA.
LINE = LINE + 1. "Excel 中行号从1开始
CALL METHOD OF EXCEL 'CELLS' = CELL EXPORTING #1 = LINE #2 = 1. "指定单元格,
SET PROPERTY OF CELL 'VALUE' = MY_DATA-MANDT. "写入值
CALL METHOD OF EXCEL 'CELLS' = CELL EXPORTING #1 = LINE #2 = 2. "指定单元格,
SET PROPERTY OF CELL 'VALUE' = MY_DATA-BNAME. "写入值
CALL METHOD OF EXCEL 'CELLS' = CELL EXPORTING #1 = LINE #2 = 3. "指定单元格,
SET PROPERTY OF CELL 'VALUE' = MY_DATA-ERDAT. "写入值
CALL METHOD OF EXCEL 'CELLS' = CELL EXPORTING #1 = LINE #2 = 4. "指定单元格,
SET PROPERTY OF CELL 'VALUE' = MY_DATA-LTIME. "写入值
ENDLOOP.
GET PROPERTY OF EXCEL 'ACTIVESHEET' = SHEET. "激活工作簿
GET PROPERTY OF EXCEL 'ACTIVEWORKBOOK' = WORKBOOK. "激活工作区
CALL METHOD OF WORKBOOK 'SAVEAS' EXPORTING #1 = XLSNAME #2 = 1. "将excel文件保存
CALL METHOD OF WORKBOOK 'CLOSE'. "关闭工作区
CALL METHOD OF EXCEL 'QUIT'. "退出excel
*WRITE:/ XLSNAME,'DONE'. "退出成功,输出done
FREE OBJECT SHEET. "释放操作
FREE OBJECT WORKBOOK.
FREE OBJECT EXCEL.
相关文章推荐
- SAP ABAP如何将内表的数据导出到EXCEL
- C# 如何将 不同的数据(多个查询结果集 dataset)导出到一个excel的不同sheet中
- 如何将gridview中的数据导出到EXCEL中去
- DataGridview中的数据如何导出到Excel中
- C#如何将数据导出到word 中或者Excel中
- 如何将 Oracle 数据导出到 Excel 中
- DELPHI如何将数据导出到指定格式的EXCEL模版
- 如何将DataGrid中的数据导出到Excel文件中
- DataGridview中的数据如何导出到Excel中
- Asp.Net中如何将数据导出到excel
- 如何将GridView控件数据导出到word和Excel
- Asp.Net中如何将数据导出到excel
- Asp.Net中如何将数据导出到excel
- 如何将数据从c#导出到excel表
- 如何将datagridview中的数据导出到Excel中?
- 在winform开发中如何把datagrid里面的数据导出成EXCEL文件
- C#中怎么从如何将DataGridView中的数据导出到Excel中
- 如何将 Oracle 数据导出到 Excel表中 --转载
- 如何编程实现VB.NET数据集中的数据导出到EXCEL
- 如何导入excel数据到SQL server数据库 & 如何导出GridView数据至Excel