OLE Excel问题

2020-08-15 21:46发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


伙计们,

我正在使用OLE excel从SAP下载数据。我对OLE excel有几个基本问​​题

1。 我想在EXCEL中合并单元,该怎么办?

2。 我想在某些单元格中进行对齐,该怎么办?

3。 我一直在SDN上阅读有关OLE的文章,因此我注意到

等颜色的数字不同
 O_INTERIOR'颜色'的设置属性='10092543'。

。我怎么知道颜色代码。 以及单元格中文本的对齐。

 O_CELL'水平对齐'的设置属性= -4108。

..so从哪里知道-4180用于中心对齐

4。 我怎么知道Excel单元格和工作簿的不同方法和属性。

我知道这些问题很多,但我想是基本的问题。如果有人可以给我指导,那将是有帮助的,并给出要点。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


伙计们,

我正在使用OLE excel从SAP下载数据。我对OLE excel有几个基本问​​题

1。 我想在EXCEL中合并单元,该怎么办?

2。 我想在某些单元格中进行对齐,该怎么办?

3。 我一直在SDN上阅读有关OLE的文章,因此我注意到

等颜色的数字不同
 O_INTERIOR'颜色'的设置属性='10092543'。

。我怎么知道颜色代码。 以及单元格中文本的对齐。

 O_CELL'水平对齐'的设置属性= -4108。

..so从哪里知道-4180用于中心对齐

4。 我怎么知道Excel单元格和工作簿的不同方法和属性。

我知道这些问题很多,但我想是基本的问题。如果有人可以给我指导,那将是有帮助的,并给出要点。

付费偷看设置
发送
5条回答
Tong__Ming
1楼-- · 2020-08-15 22:10

假设EXCEL是您的EXCEL.APPLICATION处理程序

所有H_对象均为OLE2_OBJECT类型

1。 合并


 数据:
       H_RANGE类型OLE2_OBJECT,
       H_MERGE类型OLE2_OBJECT。

 呼叫"范围" = H_RANGE的方法
   出口
     #1 ='A10'
     #2 ='K10'。

 H_RANGE的调用方法"合并" = H_MERGE。
 

2。 对齐时,row和col的类型为i ..指代您要更改的单元格

1 =默认

2 =左

3 =中心

4 =正确

5 =证明

   卓越的"单元格"呼叫方法= H_CELL
     出口
       #1 =行
       #2 = COL。

   设置h_cell'Horizo​​ntalAlignment'的属性= 3。
 

3。 有关颜色编码,请参见此程序

 *&------------------------------------------------  --------------------- *
 *&报告ZKRIS_OLE3_PALETTE
 *&
 *&------------------------------------------------  --------------------- *
 *&在excel中显示完整的OLE颜色范围
 *&
 *&------------------------------------------------  --------------------- *

 报告ZKRIS_OLE3_PALETTE。

 TYPE-POOLS ole2。
 数据:计数类型i,
        count_real TYPE i,
        应用程序类型ole2_object,
        工作簿类型ole2_object,
        Excel TYPE ole2_object,
        工作表TYPE ole2_object,
        单元格类型ole2_object。
 常量:row_max TYPE i VALUE 256。
 数据索引类型i。


 数据:
       h_cell TYPE ole2_object,"单元格
       h_f TYPE ole2_object,"字体
       h_int TYPE ole2_object,
       h_width TYPE ole2_object,
       h_columns TYPE ole2_object,
       h_rows TYPE ole2_object,
       h_font TYPE ole2_object,
       h_entirecol TYPE ole2_object。
 数据:h_range TYPE ole2_object。
 数据:h_merge TYPE ole2_object。


 创建对象excel'EXCEL.APPLICATION'。

 IF sy-subrc NE 0。
   写:/'不可能创建EXCEL'。
   停。
 万一。

 设置excel'DisplayAlerts'= 0的属性。

 Excel'WORKBOOKS'=工作簿的调用方法。

 设置excel'VISIBLE'的属性= 1。


 *创建工作簿
 设置excel'SheetsInNewWorkbook'的属性= 1。
 工作簿" ADD"的调用方法。

 Excel'WORKSHEETS'的呼叫方法=工作表
   出口
     #1 = 1。

 设置工作表"名称" ="调色板"的属性。
 表格"激活"的呼叫方法。

 资料:TYPE I VALUE 1,
 TYPE I VALUE行2,
 col1 TYPE i VALUE 2,
 col_real TYPE I VALUE 1。

 行= 1。
 col = 3。
 Excel'Cells'= h_cell的呼叫方法
   出口
     #1 =行
     #2 =栏
 SET_PROPERTY OF h_cell'值'='否'。

 col = col + 1。
 Excel'Cells'= h_cell的呼叫方法
   出口
     #1 =行
     #2 =栏
 SET_PROPERTY OF h_cell"值" ="背景"。

 col = col + 1。
 Excel'Cells'= h_cell的呼叫方法
   出口
     #1 =行
     #2 =栏
 SET PROPERTY OF h_cell'值'='前景为白色背景'。

 col = col + 1。
 Excel'Cells'= h_cell的呼叫方法
   出口
     #1 =行
     #2 =栏
 SET PROPERTY OF h_cell'值'='前景为黑色背景'。

 Excel'Rows'= h_rows的呼叫方法
   出口
     #1 ='2:2'。
 SET属性h_rows'WrapText'= 1。

 col = 9。
 Excel'Cells'= h_cell的呼叫方法
   出口
     #1 =行
     #2 =栏
 SET_PROPERTY OF h_cell'值'='否'。

 col = col + 1。
 Excel'Cells'= h_cell的呼叫方法
   出口
     #1 =行
     #2 =栏
 SET_PROPERTY OF h_cell"值" ="背景"。

 col = col + 1。
 Excel'Cells'= h_cell的呼叫方法
   出口
     #1 =行
     #2 =栏
 SET PROPERTY OF h_cell'值'='前景为白色背景'。
 设置h_cell'Bold'的属性= 1。

 col = col + 1。
 Excel'Cells'= h_cell的呼叫方法
   出口
     #1 =行
     #2 =栏
 SET PROPERTY OF h_cell'值'='前景为黑色背景'。

 Excel'Rows'= h_rows的呼叫方法
   出口
     #1 ='1:1'。
 SET属性h_rows'WrapText'= 1。
 获取h_rows'Font'= h_font的属性。
 SET PROPERTY OF h_font'Bold'= 1。


 计数= 1。
 count_real =计数。
 行= 2。
 col = 3。
 做56次。
   执行write_num_and_color。
 ENDDO。


 *自动调整
 Excel'Columns'= h_columns的调用方法
   出口
     #1 ='C:L'。
 获取h_columns'EntireColumn'= h_entirecol的属性。
 设置h_entirecol'Autofit'= 1。


 *在lhs上写调色板

 *范围
 Excel'范围'的呼叫方法= h_range
   出口
     #1 ='A2'
     #2 ='A20'。

 h_range'Merge'= h_merge的调用方法。

 Excel'Cells'= h_cell的呼叫方法
   出口
     #1 = 2
     #2 = 1。
 SET PROPERTY OF h_cell'值'='调色板'。
 SET_PROPERTY OF h_cell的"方向" = 90。
 SET_PROPERTY OF h_cell'Horizo​​ntalAlignment'=3。"中心对齐
 获取h_cell'Font'= h_f的属性。
 SET PROPERTY OF h_f'Bold'= 1." bold
 SET属性h_f'名称'='可笑的Sans MS'。
 设置h_f'大小'='14'的属性。
 SET_PROPERTY OF h_cell'VerticalAlignment'=2。"中心对齐

 *自动调整
 Excel'Columns'= h_columns的调用方法
   出口
     #1 ='A:A'。
 获取h_columns'EntireColumn'= h_entirecol的属性。
 SET属性h_columns'ColumnWidth'= 4。


 *&------------------------------------------------  --------------------- *
 *&形式write_num_and_color
 *&------------------------------------------------  --------------------- *
 *文字
 * -------------------------------------------------  --------------------- *
 FORM write_num_and_color。

   索引= row_max *(row-1)+ col。
   表格"单元格"的呼叫方法=单元格
     出口
       #1 =索引。
   SET单元格的属性"值" = count_real。

   col = col + 1。
   Excel'Cells'= h_cell的呼叫方法
     出口
       #1 =行
       #2 =栏
   获取h_cell'Interior'= h_int的属性。
   SET属性h_int'ColorIndex'= count_real。

   col = col + 1。
   Excel'Cells'= h_cell的呼叫方法
     出口
       #1 =行
       #2 =栏
   SET PROPERTY OF h_cell'值'='样本文本'。
   获取h_cell'Font'= h_f的属性。
   设置属性h_f'ColorIndex'= count_real。

   col = col + 1。
   Excel'Cells'= h_cell的呼叫方法
     出口
       #1 =行
       #2 =栏
   获取h_cell'Interior'= h_int的属性。
   SET属性h_int'ColorIndex'= 1。
   SET PROPERTY OF h_cell'值'='样本文本'。
   获取h_cell'Font'= h_f的属性。
   设置属性h_f'ColorIndex'= count_real。

   行=行+ 1。
   col = col-3。
   计数=计数+ 1。
   如果计数= 29。
     计数= 1。
     行= 2。
     col = col + 6。
   万一。
   count_real = count_real + 1。

 ENDFORM。  " write_num_and_color

 

4。 要了解不同的OLE属性,您需要检查excel中的宏,然后首先使用一些试验和错误

Doze时光
2楼-- · 2020-08-15 22:30

Hello Kris,

是否可以使用OLE在特定位置插入图片?

总是将图片放在最顶部,但我希望将其放置在特定的行/列中。 那可能吗? 我尝试使用AddPicture属性,但是没有运气。

谢谢

Rajashree Palkar。

绿领巾童鞋
3楼-- · 2020-08-15 22:15

我不确定"水平对齐"值,

对于颜色编码,

红色-0到255

蓝色-0到255

绿色-0到255

订单为BGR

您将值000000255或00255设置为红色。

我希望这是有道理的。

谢谢

Abhisek

绿领巾童鞋
4楼-- · 2020-08-15 22:09

嗨,

OLE Excel性能非常差,主要是如果您有大量的数据字段。

我建议您使用FM'XXL_FULL_API'。

最好的问候

Marcos Moreira。

callcenter油条
5楼-- · 2020-08-15 22:09

dnt知道

一周热门 更多>