内表写入EXCEL

 
*******************单个单元格操作如下,可操作单个单元格子的数据,格式,函数.总之,VBA能用的在此都能用
一.一段代码:
CONSTANTS: OK TYPE I VALUE 0.
INCLUDE OLE2INCL.
DATA: EXCEL TYPE OLE2_OBJECT,
WORKBOOK TYPE OLE2_OBJECT,
SHEET TYPE OLE2_OBJECT,
CELL TYPE OLE2_OBJECT,
ROW TYPE OLE2_OBJECT.
DATA:col_num TYPE i VALUE 0,
     row_num TYPE I VALUE 0.

CREATE OBJECT EXCEL 'EXCEL.APPLICATION'.
IF SY-SUBRC NE OK.
MESSAGE I000(zd003) WITH SY-MSGLI.
ENDIF.
CALL METHOD OF EXCEL 'WORKBOOKS' = WORKBOOK .
set property of EXCEL 'SHEETSINNEWWORKBOOK' = 1.
call method of WORKBOOK 'ADD'.
SET PROPERTY OF EXCEL 'VISIBLE' = 1 .
DATA:ITEMS TYPE I VALUE  0.
DESCRIBE TABLE IT_ZINVOICE4_SUB[] LINES ITEMS.
CHECK ITEMS > 0.

LOOP AT IT_ZINVOICE4_SUB.
  row_num = row_num + 1.
DO 10 TIMES.
  col_num = col_num + 1.
CALL METHOD OF EXCEL 'CELLS' = CELL EXPORTING #1 = row_num #2 = col_num.
CASE col_num.
  WHEN 1.
SET PROPERTY OF CELL 'VALUE' = IT_ZINVOICE4_SUB-VBELN NO FLUSH.
FREE OBJECT CELL.
  WHEN 2.
SET PROPERTY OF CELL 'VALUE' = IT_ZINVOICE4_SUB-BUKRS NO FLUSH.
FREE OBJECT CELL.
  WHEN 3.
SET PROPERTY OF CELL 'VALUE' = IT_ZINVOICE4_SUB-TAX_MONEY NO FLUSH.
FREE OBJECT CELL.
  WHEN 4.
SET PROPERTY OF CELL 'VALUE' = IT_ZINVOICE4_SUB-DEMO NO FLUSH.
FREE OBJECT CELL.
  WHEN 5.
SET PROPERTY OF CELL 'VALUE' = IT_ZINVOICE4_SUB-TAX_CX NO FLUSH.
FREE OBJECT CELL.
  WHEN 6.
SET PROPERTY OF CELL 'VALUE' = IT_ZINVOICE4_SUB-TEXT_NO NO FLUSH.
FREE OBJECT CELL.
  WHEN 7.
SET PROPERTY OF CELL 'VALUE' = IT_ZINVOICE4_SUB-TAX_TYPE NO FLUSH.
FREE OBJECT CELL.
  WHEN 8.
SET PROPERTY OF CELL 'VALUE' = IT_ZINVOICE4_SUB-PRINT_T NO FLUSH.
FREE OBJECT CELL.
  WHEN 9.
SET PROPERTY OF CELL 'VALUE' = IT_ZINVOICE4_SUB-DATE_D NO FLUSH.
FREE OBJECT CELL.
  WHEN 10.
ENDCASE.
ENDDO.
  CLEAR col_num.
ENDLOOP.

  **Free all objects
*FREE OBJECT CELL.
*FREE OBJECT WORKBOOK.
*FREE OBJECT EXCEL.
*EXCEL-HANDLE = -1.
*FREE OBJECT ROW.

二,一个完整的程序:
SPAN {font-family: "Courier New";font-size: 10pt;color: #000000;background: #FFFFFF;}.L1S52 {color: #0000FF;}report  ztest_excel.
SPAN {font-family: "Courier New";font-size: 10pt;color: #000000;background: #FFFFFF;}.L1S31 {font-style. italic;color: #808080;}.L1S32 {color: #3399FF;}.L1S33 {color: #4DA619;}.L1S52 {color: #0000FF;}include ole2incl.
data: excel_object type ole2_object, " EXCEL OBJECT
workbook_list type ole2_object, "LIST OF WORKBOOKS
workbook type ole2_object, " WORKBOOK
cell type ole2_object, " CELL
font type ole2_object. " FONT
tables: pa0002.
data row_number type i.
data: it_pa0002 like pa0002 occurs 10 with header line.
start-of-selection.
select * from pa0002 into table it_pa0002 up to 10 rows.
create object excel_object 'EXCEL.APPLICATION'.
set property of excel_object 'VISIBLE' = 1.
call method of excel_object 'WORKBOOKS' = workbook_list.
call method of workbook_list 'ADD' = workbook.
* FILL THE ACTIVE SHEET WITH COLUMN HEADINGS
perform. fill_cell_with_data using 1 1 1 1 'Employee Number'.
perform. fill_cell_with_data using 1 2 1 1 'First Name'.
perform. fill_cell_with_data using 1 3 1 1 'Last Name'.
perform. fill_cell_with_data using 1 4 1 1 'Date of Birth'.
perform. fill_cell_with_data using 1 5 1 3 'Place of Birth'.
* FILL EMPLOYEE DATA TO ACTIVE EXCEL SHEET
loop at it_pa0002.
row_number = sy-tabix + 1.
perform. fill_cell_with_data using row_number 1 0 1 it_pa0002-pernr.
perform. fill_cell_with_data using row_number 2 0 1 it_pa0002-vorna.
perform. fill_cell_with_data using row_number 3 0 1 it_pa0002-nachn.
perform. fill_cell_with_data using row_number 4 0 1 it_pa0002-gbdat.
perform. fill_cell_with_data using row_number 5 0 1 '=SUM(A2:A11)'."IT_PA0002-GBORT.
endloop.
free object excel_object.
form. fill_cell_with_data using row column bold color val .
call method of excel_object
'CELLS' = cell
exporting #1 = row
#2 = column.
set property of cell 'VALUE' = val.
get property of cell 'FONT' = font.
set property of font 'BOLD' = bold.
set property of font 'COLORINDEX' = color.
endform.

三,
*************************** 另有函数,可以快速导入
CALL FUNCTION 'WS_EXCEL'
EXPORTING   FILENAME            = 'C:\TEST.XLS'
*   SYNCHRON            = ' '
  TABLES
    DATA                = IT_ZINVOICE4_SUB[]
* EXCEPTIONS
* UNKNOWN_ERROR       = 1


*************************附EXCLE导入内表
另有EXCLE导入内表函数
ALSM_EXCEL_TO_INTERNAL_TABLE
使用如下:
rurl2=bd967fc1d8a8412dc837eda38baaa4553f9b935abfad6580a2688ee2282dce2439776442beb9ace12735b172fec88a186682bb98de25ec32083b12d164e41714b005e5b1c49172b5cb435615457bc847b6e1d5e4

TEST.XLS表格的33列的9个单元格子


TEST.XLS记录如下:
rurl2=dee93718b0bc60d062b3abdc3b4d700cbc2624177ffbd601a50a50e90f7330408bd40d3943fe223c4a7901124f90e66d84f8c3b6ce8ca778b7e5b3e8cb7993507d2fd4fd8e45dfa2b1c2121d73a5cff6d3dd2e9e



结果如下:
rurl2=07567770a641d653ce060abcb29d86db394d39781db997f05c0c354bc3772cc3b0960ba4a9f83ee8956b6d4947bc4f252bb2538ecf2e20f8db264e50cbfbba09fbe9f75c023e266d8a684e46f1bfae94cb64c56e

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9633129/viewspace-536596/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9633129/viewspace-536596/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值