"1 设置行高 "参数说明:行/列号、行高/列宽、R-行 C-列

  1. FORM row_column USING p_r p_width p_type.
  2. CASE p_type.
  3. WHEN 'R'. "行高
  4. CALL METHOD OF gs_excel 'CELLS' = gs_cells EXPORTING # = p_r # = .
  5. GET PROPERTY OF gs_cells 'rows' = gs_rows.
  6. SET PROPERTY OF gs_rows 'rowheight' = p_width.
  7. WHEN 'C'. "列宽
  8. CALL METHOD OF gs_excel 'CELLS' = gs_cells EXPORTING # = # = p_r.
  9. GET PROPERTY OF gs_cells 'columns' = gs_columns .
  10. SET PROPERTY OF gs_columns 'columnwidth' = p_width.
  11. ENDCASE.
  12. FREE OBJECT gs_rows.
  13. FREE OBJECT gs_columns.
  14. FREE OBJECT gs_cells.
  15. ENDFORM. " PRM_EXPORT_EXCEL1

"1 设置列宽

  1. FORM row_column USING p_r p_width p_type.
  2. CASE p_type.
  3. WHEN 'R'. "行高
  4. CALL METHOD OF gs_excel 'CELLS' = gs_cells EXPORTING # = p_r # = .
  5. GET PROPERTY OF gs_cells 'rows' = gs_rows.
  6. SET PROPERTY OF gs_rows 'rowheight' = p_width.
  7. WHEN 'C'. "列宽
  8. CALL METHOD OF gs_excel 'CELLS' = gs_cells EXPORTING # = # = p_r.
  9. GET PROPERTY OF gs_cells 'columns' = gs_columns .
  10. SET PROPERTY OF gs_columns 'columnwidth' = p_width.
  11. ENDCASE.
  12. FREE OBJECT gs_rows.
  13. FREE OBJECT gs_columns.
  14. FREE OBJECT gs_cells.
  15. ENDFORM. " PRM_EXPORT_EXCEL1

"设置边框 "第一个单元格X、Y 第二个单元格X、Y、边框(1带边框 0不带)

  1. FORM merged USING x1 y1 x2 y2 p_linestyle.
  2. *--Selecting cell area to be merged.
  3. CALL METHOD OF gs_excel 'Cells' = gs_cell1
  4. EXPORTING
  5. # = x1
  6. # = y1.
  7. CALL METHOD OF gs_excel 'Cells' = gs_cell2
  8. EXPORTING
  9. # = x2
  10. # = y2.
  11. CALL METHOD OF gs_excel 'Range' = gs_range
  12. EXPORTING
  13. # = gs_cell1
  14. # = gs_cell2.
  15. CALL METHOD OF gs_range 'Select'.
  16. *--Merging
  17. CALL METHOD OF gs_range 'Merge' .
  18.  
  19. GET PROPERTY OF gs_range 'borders' = gs_borders .
  20. SET PROPERTY OF gs_borders 'weight' = ''.
  21. SET PROPERTY OF gs_borders 'linestyle' = p_linestyle.
  22.  
  23. FREE OBJECT gs_range.
  24. FREE OBJECT gs_borders.
  25.  
  26. ENDFORM. " MERGED
  1. FORM fill_cell_gs USING p_r1
  2. p_r2
  3. p_bold
  4. p_size
  5. p_linestyle
  6. p_value.
  7. CALL METHOD OF gs_excel 'CELLS' = gs_cells EXPORTING # = p_r1 # = p_r2.
  8. * 设置被选中单元格的对齐方式
  9. " && 水平方向 2左对齐,3居中,4右对齐
  10. SET PROPERTY OF gs_cells 'horizontalAlignment' = .
  11. "&& 垂直方向 1靠上 ,2居中,3靠下
  12. SET PROPERTY OF gs_cells 'VerticalAlignment' = .
  13. "自动换行
  14. SET PROPERTY OF gs_cells 'WrapText' = .
  15. "设置边框属性
  16. GET PROPERTY OF gs_cells 'borders' = gs_borders .
  17. SET PROPERTY OF gs_borders 'weight' = ''.
  18. SET PROPERTY OF gs_borders 'linestyle' = p_linestyle.
  19. "设置字体属性
  20. CALL METHOD OF gs_cells 'FONT' = gs_font.
  21. SET PROPERTY OF gs_font 'BOLD' = p_bold. "1:粗体 0:普通字体
  22. SET PROPERTY OF gs_font 'SIZE' = p_size. "字体大小
  23. "设置单元格的值
  24. SET PROPERTY OF gs_cells 'VALUE' = p_value.
  25.  
  26. FREE OBJECT gs_font.
  27. FREE OBJECT gs_borders.
  28. FREE OBJECT gs_cells.
  29.  
  30. g_c1 = g_c1 + .
  31. ENDFORM.
  1. FORM prm_export_excel1 .
  2. DATA:lv_char TYPE string.
  3. DATA:lv_line TYPE i.
  4. DATA:lv_date TYPE string.
  5. DATA:lv_name() TYPE c.
  6. DATA:lv1 TYPE c,
  7. lv2 TYPE c,
  8. lv3 TYPE c,
  9. lv4 TYPE c.
  10. DATA:lv_lines TYPE i VALUE .
  11. CREATE OBJECT gs_excel 'EXCEL.APPLICATION'.
  12. *设置EXCEL可见
  13. SET PROPERTY OF gs_excel 'Visible' = .
  14. *创建工作表
  15. CALL METHOD OF gs_excel 'Workbooks' = gs_workbook.
  16. DESCRIBE TABLE gt_zsqm00501 LINES lv_line.
  17. * 创建sheet并添加到工作表
  18. SET PROPERTY OF gs_excel 'SHEETSINNEWWORKBOOK' = lv_line. "如需多个sheets,将1改成相应的值
  19. CALL METHOD OF gs_workbook 'ADD'.
  20. *如果是已有EXCEL模板则直接打开即可
  21. * CALL METHOD OF gs_workbook 'OPEN'
  22. * EXPORTING
  23. * #1 = 'C:\test.xls'. "EXCEL文件路径
  24. *选中相应sheet设置名称
  25. LOOP AT gt_zsqm00501 INTO gs_zsqm00501.
  26. * SHIFT GS_ZSQM00501-PRUEFLOS LEFT DELETING LEADING '0'.
  27. CALL METHOD OF gs_excel 'WORKSHEETS' = gs_sheet
  28. EXPORTING
  29. # = lv_lines.
  30. lv_lines = lv_lines + .
  31. CALL METHOD OF gs_sheet 'ACTIVATE'.
  32. SET PROPERTY OF gs_sheet 'NAME' = gs_zsqm00501-prueflos.
  33. FREE OBJECT gs_sheet .
  34.  
  35. "参数说明:行/列号、行高/列宽、R-行 C-列
  36. PERFORM row_column USING: '' 'R', "1 设置行高
  37. '' 'R',
  38. '' 'R',
  39. '' 'R',
  40. '' 'R',
  41. '' 'R',
  42. '' 'R',
  43. '' 'R',
  44. '' 'R',
  45. '' 'R',
  46. '' 'R'.
  47. PERFORM row_column USING: '' 'C', "1 设置列宽
  48. '' 'C',
  49. '' 'C',
  50. '' 'C',
  51. '' 'C'.
  52. "第一个单元格XY 第二个单元格XY、边框(1带边框 0不带)
  53. PERFORM merged USING: ,"行1
  54. ,"2
  55. ,
  56. ,
  57. ,
  58. ,
  59. ,
  60. ,
  61. ,
  62. ,
  63. ,
  64. ,
  65. ,
  66. ,
  67. ,
  68. ,
  69. ,
  70. ,
  71. ,
  72. ,
  73. ,
  74. ,
  75. ,
  76. ,
  77. ,
  78. ,
  79. ,
  80. ,
  81. .
  82.  
  83. SELECT SINGLE butxt INTO g_butxt
  84. FROM t001
  85. WHERE bukrs = gs_zsqm00501-werk.
  86. "参数说明:单元格X、单元格Y、字体(1粗体 0普通字体)、字体大小、边框(1带边框 0不带)、内容
  87. IF gs_zsqm00501-werk = ''.
  88. PERFORM fill_cell_gs USING: '广州东凌粮油股份有限公司' ,
  89. 'Donlinks grain & oil CO.,LTD.'.
  90. lv_name = '黄新哲'.
  91. ELSE.
  92. PERFORM fill_cell_gs USING: '广州植之元油脂实业有限公司',
  93. 'Guangzhou Green Oil Industrial Co.,Ltd.'.
  94. lv_name = '文国才'.
  95. ENDIF.
  96.  
  97. CLEAR:lv_char.
  98. CONCATENATE '''' gs_zsqm00501-pastrterm+() '-' gs_zsqm00501-pastrterm+() '-' gs_zsqm00501-pastrterm+() INTO lv_date.
  99. CONCATENATE '质检批号:' gs_zsqm00501-zinslot ' 检验批:' gs_zsqm00501-prueflos
  100. ' 制单日期:' sy-datum+() '-' sy-datum+() '-' sy-datum+() INTO lv_char.
  101. CONCATENATE '''' gs_zsqm00501-sghth INTO gs_zsqm00501-sghth.
  102. PERFORM fill_cell_gs USING: "1 1 1 18 0 G_BUTXT ,
  103. '检 验 单',
  104. lv_char,
  105. '物 料 名 称',
  106. gs_zsqm00501-ktextmat,
  107. '采 购 订 单',
  108. gs_zsqm00501-ebeln,
  109. '检 验 日 期',
  110. lv_date,
  111. * 6 2 1 12 1 GS_ZSQM00501-PASTRTERM,
  112. '供 应 商',
  113. gs_zsqm00501-name1,
  114. '抽 样 人',
  115. gs_zsqm00501-uname,
  116. '车/船 号',
  117. gs_zsqm00501-zcarid,
  118. '抽 样 基 数',
  119. gs_zsqm00501-zlosmenge,
  120. '抽样数量',
  121. gs_zsqm00501-zgesstichpr,
  122. '执 行 标 准',
  123. gs_zsqm00501-zstand,
  124. '纸质合同号',
  125. gs_zsqm00501-sghth,
  126. '检 验 项 目',
  127. '检 验 结 果',
  128. '检验依据',
  129. '企 业 标 准',
  130. '单项评价'.
  131.  
  132. g_r1 = .
  133. LOOP AT gt_zsqm00502 INTO gs_zsqm00502 WHERE prueflos = gs_zsqm00501-prueflos.
  134. PERFORM row_column USING: g_r1 '' 'R'. "1 设置行高
  135. PERFORM fill_cell_gs USING:g_r1 gs_zsqm00502-kurztext,
  136. g_r1 gs_zsqm00502-dxjg,
  137. g_r1 gs_zsqm00502-pmethode,
  138. g_r1 gs_zsqm00502-ktx01,
  139. g_r1 gs_zsqm00502-jywb.
  140. g_r1 = g_r1 + .
  141. ENDLOOP.
  142. PERFORM merged USING:g_r1 g_r1 ,
  143. g_r1 g_r1 .
  144. CLEAR:lv_char.
  145. IF gs_zsqm00501-code = 'A'.
  146. lv1 = '√'.
  147. lv_char = '√ 接收 接收,扣款 让步接收 退货'.
  148. * CONCATENATE LV1 '√ 接收 ' LV2 '接收,扣款 'LV3 '让步接收 ' LV4 '退货' INTO LV_CHAR.
  149. ELSEIF gs_zsqm00501-code = 'A0'.
  150. lv2 = '√'.
  151. lv_char = '接收 √ 接收,扣款 让步接收 退货'.
  152. ELSEIF gs_zsqm00501-code = 'A1'.
  153. lv3 = '√'.
  154. lv_char = '接收 接收,扣款 √ 让步接收 退货'.
  155. ELSEIF gs_zsqm00501-code = 'R'.
  156. lv4 = '√'.
  157. lv_char = '接收 接收,扣款 让步接收 √ 退货'.
  158. ENDIF.
  159.  
  160. PERFORM fill_cell_gs USING: g_r1 '处 理 方 式',
  161. g_r1 lv_char.
  162.  
  163. g_r1 = g_r1 + .
  164. PERFORM row_column USING: g_r1 '' 'R'. "1 设置行高
  165. PERFORM fill_cell_gs USING:g_r1 '备注'.
  166. PERFORM merged USING:g_r1 g_r1 ,
  167. g_r1 g_r1 .
  168. PERFORM fill_cell_gs USING:g_r1 gs_zsqm00501-sgtxt.
  169.  
  170. g_r1 = g_r1 + .
  171. PERFORM row_column USING: g_r1 '' 'R'. "1 设置行高
  172. PERFORM merged USING:g_r1 g_r1 .
  173. CLEAR:lv_char.
  174. CONDENSE gs_zsqm00501-usnam NO-GAPS.
  175. CONDENSE lv_name NO-GAPS.
  176. CONDENSE gs_zsqm00501-name_qave NO-GAPS.
  177. CONCATENATE '制单人:' gs_zsqm00501-usnam ' 化验员:' gs_zsqm00501-pruefer"LV_NAME
  178. ' 审核人:' gs_zsqm00501-name_qave INTO lv_char.
  179. PERFORM fill_cell_gs USING:g_r1 lv_char.
  180.  
  181. GET PROPERTY OF gs_excel 'ACTIVESHEET' = gs_sheet.
  182. GET PROPERTY OF gs_excel 'ActiveWorkbook' = gs_workbook.
  183. ENDLOOP.
  184.  
  185. CALL METHOD OF gs_workbook 'SAVEAS'
  186. EXPORTING
  187. # = gv_file "保存路径
  188. # = .
  189.  
  190. IF sy-subrc = .
  191. MESSAGE s000 WITH '数据已导出'.
  192. ELSE.
  193. MESSAGE s000 WITH '数据导出失败' DISPLAY LIKE 'E'.
  194. ENDIF.
  195. *
  196. CALL METHOD OF gs_workbook 'CLOSE'.
  197. CALL METHOD OF gs_excel 'QUIT'.
  198. FREE OBJECT gs_sheet.
  199. FREE OBJECT gs_workbook.
  200. FREE OBJECT gs_excel.
  201. ENDFORM. " FRM_EXCEL_BZYJH

OLE填充EXCEL 多SHEET的更多相关文章

  1. OLE填充EXCEL

    先把基本的FORM写好: 1.行列属性 FORM row_column USING p_r p_width p_type. CASE p_type. WHEN 'R'. "行高 = p_r ...

  2. (原创)带模板的OLE输出EXCEL

    其实带模板的OLE输出EXCEL就是将要输出的EXCEL中一些拥有固定值(如标题,表头行等)的单元格先填充好数据和设置好格式后作为模板上传到SAP 中.这样后续在输出EXCEL时只需从SAP中将模板下 ...

  3. OLE操作Excel编译错误处理

      Excel在公司用的很多,而这个东西我用的不是很好,就想用程序来处理,遇到很多错误.这几天研究了下OLE操作Excel.环境:VS2008 SP1+Excel 2007 加入OLE Type Li ...

  4. Easypoi实现excel多sheet表导入导出功能

    Easypoi简化了开发中对文档的导入导出实现,并不像poi那样都要写大段工具类来搞定文档的读写. 第一步引入Easypoi依赖 <!-- 导出文件工具 EasyPoi实现Excel读写管理测试 ...

  5. java的poi技术写Excel的Sheet

    在这之前写过关于java读,写Excel的blog如下: Excel转Html java的poi技术读,写Excel[2003-2007,2010] java的poi技术读取Excel[2003-20 ...

  6. Java读取excel指定sheet中的各行数据,存入二维数组,包括首行,并打印

    1. 读取 //读取excel指定sheet中的各行数据,存入二维数组,包括首行 public static String[][] getSheetData(XSSFSheet sheet) thro ...

  7. 【学习】ABAP OLE 对EXCEL的处理

    原文:http://blog.sina.com.cn/s/blog_7229b9c00100opx2.html -------------------------------------------- ...

  8. 2018年,请不要再使用OLE生成EXCEL文件

    输出EXCEL文件是ABAP开发工作中的常见需求,为了学习相关技术,我翻译过一篇文章:使用OLE2对象创建EXCEL文件,并且一度乐在其中. 最近几个月,经过与若干EXCEL打印程序的艰苦斗争,以及对 ...

  9. C# 填充Excel

    1.添加引用 Microsoft.Office.Interop.Excel; 2.使用命名空间 using Microsoft.Office.Interop.Excel; 3.填充EXCEL单元格方法 ...

随机推荐

  1. 实现easyui datagrid在没有数据时显示相关提示内容

    本示例实现easyui datagrid加载/查询数据时,如果没有相关记录,则在datagrid中显示没有相关记录的提示信息,效果如下图所示 本实例要实现如下图所示的效果: 本示例easyui版本为1 ...

  2. Gradle Cheat Sheet

    加快编译速度 使用 gradle 2.4 及以上版本 ~/.gradle/gradle.properties 加入如下配置 org.gradle.daemon=true org.gradle.jvma ...

  3. 定时往oracle插入数据

    1创建存储过程 create or replace procedure job_proc isbegininsert into yy (yid) values (sysdate);end; 2创建jo ...

  4. Java回顾之Spring基础

    第一篇:Java回顾之I/O 第二篇:Java回顾之网络通信 第三篇:Java回顾之多线程 第四篇:Java回顾之多线程同步 第五篇:Java回顾之集合 第六篇:Java回顾之序列化 第七篇:Java ...

  5. 父目录的权限对子目录有没有影响?[Linux]

    问题源头: 登录到服务器(实验室分的一个服务器账号)上,想在当前目录下创建一个文件,但提示“文件系统只读”,无法创建文件.通过ls -l 查看当前用户在当前目录的权限,发现具有rwx权限.所以在想会不 ...

  6. C++函数模板template

    一.  问题: 强类型语言要求我们为所有希望比较的类型都实现一个实例 int min(int a, int b) { return a < b ? a : b; } double min(dou ...

  7. 替换所有字符串,获取url参数值

    替换所有的字符串: var newStr = str.replace(/null/g, ""); 获取url参数值 <script type="text/javas ...

  8. Windows Azure Table storage 之 动态Table类 DynamicTableEntity

    在一般情况下,当我们在.net中使用Azure table storage的时候都会为该表建立一个TableEntity的派生类,如下所示. public class CustomerEntity : ...

  9. swift中editingStyleForRowAtIndexPath的写法

    效果图: 首先要实现这句tableView.setEditing(true, animated: true)才能弹出左侧的小圆圈 然而在oc中tableview删除的写法百度一下很常见但是swift中 ...

  10. 使用 greenDao 框架 操作数据库

    0.效果图