Sheet

activate

activate()

方法描述

激活当前sheet

调用样例- rpa.app.wps.excel.Sheet.activate-

# 注意事项:使用前需确认已安装WPS相关软件
# 使用此方法并保存excel后,对应sheet页面会作为默认打开页,即启动对应excel文件后,对应sheet页会作为首页
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path, visible=True)
sheet = excel.get_sheet("非默认页")

sheet.activate()

excel.close()

read

read(range, only_visible=False, skip=0, max=1000)

方法描述

从Excel读取数据,数字的返回均为float,例如:excel中的单元格值为1,则读出的值为1.0

参数说明

range<str>'A'为列 '1'为行 'A1'为单元格 'A1:B2'为范围

only_visible<bool>只读可见

skip<int>读列时跳过多少行后开始读

max<int>读列或者范围时,行数不能超过max的范围

调用样例- rpa.app.wps.excel.Sheet.read-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

cell_value = sheet.read('A1')
row_value = sheet.read('1')
column_value = sheet.read('A')
range_value = sheet.read('A1:C3')

excel.close()

write

write(range, value, start_row=1, start_col='A', max=1000)

方法描述

向Excel写入数据

参数说明

range<str>支持行、列、单元格、范围写入,写入范围时仅填写起始单元格即可。例:'A'为列 '1'为行 'A1'为单元格

value<list>当range为列/行的时候传入一维数组,写入单元格则传入str/int/float ,写入范围的时候传入二维数组

start_row<int>写入列时表示从哪一行开始写,此参数仅当写入列时有效

start_col<str>写入行时表示从哪一列开始写,此参数仅当写入行时有效,可传入'1'|'A'|'a'

max<int>写入列时不能超过max的范围

调用样例- rpa.app.wps.excel.Sheet.write-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

row_value = ["行数据1","RPA测试"]
cell_value = "RPA单元格值"
column_value = ["列数据1","RPA测试"]
range_value = [["区域数据1","区域数据2"],["区域数据3","区域数据4"]]

sheet.write('1', row_value)
sheet.write('C', column_value)
sheet.write('A2', cell_value)
sheet.write('A4', range_value)

excel.close()

copy

copy(range)

方法描述

复制范围内的数据

参数说明

range<str>'A'为列 '1'为行 'A1'为单元格 'A1:B2'为范围

调用样例- rpa.app.wps.excel.Sheet.copy-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

sheet.copy('1')
sheet.copy('C')
sheet.copy('A2')
sheet.copy('A4:B5')

paste

paste(range, paste_type='数值', retry=3)

方法描述

向范围内粘贴数据

参数说明

range<str>粘贴目标位置,支持的格式包含行、列、粘贴范围的起始单元格,'A'为列 '1'为行 'A1'为单元格

paste_type<str>数据类型

可选项:

  • all : 全部

  • formula : 公式

  • value : 数值

  • format : 格式

  • annotation : 批注

  • verification : 验证

  • sourceUnit : 所有使用源主题的单元

  • exceptBorder : 边框除外

  • colWidth : 列宽

  • FormulasNumber : 公式和数字格式

  • valueNumber : 值和数字格式

  • mergeCondition : 所有合并条件格式

retry<int>重试次数

调用样例- rpa.app.wps.excel.Sheet.paste-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

sheet.copy('1')
sheet.paste('2')

sheet.copy('C')
sheet.paste('D')

sheet.copy('A2')
sheet.paste('B2')

sheet.copy('A4:B5')
sheet.paste('C4')

row_count

row_count()

方法描述

获得指定sheet的行数

返回值说明

返回行数<str>

调用样例- rpa.app.wps.excel.Sheet.row_count-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

count = sheet.row_count()

col_count

col_count()

方法描述

获得指定sheet的列数

返回值说明

返回列数<str>

调用样例- rpa.app.wps.excel.Sheet.col_count-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

count = sheet.col_count()

sort

sort(sort_fields, range=None, match_case=False, sort_method='pinyin', contains_header=False)

方法描述

排序

参数说明

sort_fields<list>排序字段数组 sort_fields = [(<列名>,<排序类型>,<升降序>)]

  • Excel列名,如A,B,AA等

  • 排序类型:

    • value:按照单元格值

    • cell_color:按照单元格颜色

    • font_color:按照单元格字体颜色

  • 升降序:

    • asc:升序

    • desc:降序

range<str>查找范围:如'A1:C5', 如果为空则查找整个Sheet(默认整个Sheet)

match_case<bool>是否区分大小写

  • False:默认值, 则执行不区分大小写的排序。

  • True:则执行区分大小写的排序。

sort_method<str>排序方法

可选项:

  • pinyin:默认值。 按字符的汉语拼音顺序排序

  • stroke:按每个字符中的笔划数量排序

contains_header<bool>是否不包含标题

  • False:默认值, (应)对整个范围进行排序。

  • True:(不应)对整个范围进行排序。

调用样例- rpa.app.wps.excel.Sheet.sort-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()
# 将A列的值进行降序
sort_fields1 = [('A','value','desc')]
sheet.sort(sort_fields)
# 将B列的单元格颜色进行升序
sort_fields2 = [('B','cell_color','asc')]
sheet.sort(sort_fields2)
# 将C列的字体颜色进行升序
sort_fields3 = [('C','font_color','asc')]
sheet.sort(sort_fields3)

filter

filter(col, array, delete=False)

方法描述

对列进行筛选

参数说明

col<str>列号

array<list>筛选值数组

delete<bool>筛选后是否删除,在3.4.3及以后版本无效

调用样例- rpa.app.wps.excel.Sheet.filter-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()
# 普通筛选
filter_value = ['rpa_test1','rpa_test2']
# 高级筛选,支持通配符 ?代表单个字符 * 代表任意多个字符
filter_value = ['rpa_test?']
# 筛选空白单元格
filter_value = ['=']

sheet.filter('A',filter_value)

remove_filter

remove_filter()

方法描述

移除筛选

调用样例- rpa.app.wps.excel.Sheet.remove_filter-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()
filter_value = ['rpa_test1','rpa_test2']

sheet.filter('A',filter_value)
sheet.remove_filter()

merge_cell

merge_cell(range, each_row=False)

方法描述

合并单元格

参数说明

range<str>需要合并的范围,必须为 A1:B2的格式

each_row<bool>是否行内合并

调用样例- rpa.app.wps.excel.Sheet.merge_cell-

# 注意事项:使用前需确认已安装WPS相关软件
# 此方法通过each_row参数指定合并形式,默认为False,将把指定区域合并为一个完整的单元格
# 若指定each_row = True,则将把指定区域按行合并,每一行作为一个单元格
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

sheet.merge_cell('A1:B2',each_row=True)

insert

insert(range, insertDirection=None)

方法描述

插入功能

参数说明

range<str>'A'为列 '1'为行 'A1'为单元格 'A1:B2'为范围

insertDirection<str>插入方向

可选项:

  • down : 下移

  • right : 右移

调用样例- rpa.app.wps.excel.Sheet.insert-

# 注意事项:使用前需确认已安装WPS相关软件
# 此方法通过insertDirection参数指定插入后相邻值的移动方向,支持下移和右移
# 代码调用样例如下,会向A1单元格插入一个空的单元格,原有数据默认下移:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

sheet.insert('A1')

delete

delete(range, insertDirection=None)

方法描述

删除功能

参数说明

range<str>'A'为列 '1'为行 'A1'为单元格 'A1:B2'为范围

insertDirection<str>插入方向

可选项:

  • up : 上移

  • left : 左移

调用样例- rpa.app.wps.excel.Sheet.delete-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下,会删除A1单元格,原有数据默认上移:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

sheet.delete('A1')

remove_duplicated_cols

remove_duplicated_cols(range, cols)

方法描述

列去重功能

参数说明

range<str>'A'为列 'A1:B2'为范围

cols<list>去重列号的列表

调用样例- rpa.app.wps.excel.Sheet.remove_duplicated_cols-

# 注意事项:使用前需确认已安装WPS相关软件
# 去重列字段不能超过去重范围,如去重范围为A1:C3,则去重列字段只能从A,B,C三个中选取任意个
# 代码调用样例如下,此例中指定了在A1:C9区域进行去重操作,一行数据上三个值均相等时,才视为重复值:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

sheet.remove_duplicated_cols('A1:C9',['A','B','C'])

set_region_font_pattern_in_sheet

set_region_font_pattern_in_sheet (range, font_pattern='general')

方法描述

设置指定区域字体

参数说明

range<str>excel区域,如:'A1:B2'

font_pattern<str>设置区域内字体形态

可选项:

  • general:常规

  • bold:加粗

  • italic:斜体

  • boldAndItalic:加粗&斜体

调用样例- rpa.app.wps.excel.Sheet.set_region_font_pattern_in_sheet-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path, visible=True)
sheet = excel.get_sheet()
# 设置Excel中A1:B2区域字体加粗
sheet.set_region_font_pattern_in_sheet('A1:B2',font_pattern='bold')

set_region_border

set_region_border (range, border_type, color='000000')

方法描述

设置指定范围的样式

参数说明

range<str>excel区域,如:'A1:B2'

border_type<str>样式

可选项:

  • no_border: 无框线(默认)

  • all_borders: 所有框线

  • bottom_border: 下框线

  • top_border: 上框线

  • left_border: 左框线

  • right_border: 右框线

  • outline_borders: 外侧框线

  • thick_outline_borders: 粗外框线

  • double_bottom_borders: 双底框线

  • thick_bottom_borders: 粗底框线

  • upper_and_lower_borders: 上下框线

  • top_and_thick_bottom_borders: 上框线和粗下框线

  • top_and_double_bottom_borders: 上框线和双下框线

color<str>设置该属性的hex值,默认为'#000000'

调用样例- rpa.app.wps.excel.Sheet.set_region_border-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path, visible=True)
sheet = excel.get_sheet()
# 设置Excel中A1:B2区域单元格边框类型为所有框线,且颜色为黑色。
sheet.set_region_border('A1:B2','all_borders',color='000000')

find

find(text, range=None, count=0)

方法描述

查询

参数说明

text<str>要查询的内容

range<str>查找范围:如'A1:C5', 如果为空则查找整个Sheet(默认整个Sheet)

count<int>0表示查找所有匹配项(默认为0)

返回值说明

返回值:二维数组,每行都是一个返回结果,第一列是行号,第二列是列号,第三列是匹配的单元格值; 返回0表示未找到任何匹配项<list>

调用样例- rpa.app.wps.excel.Sheet.find-

# 注意事项:使用前需确认已安装WPS相关软件
# 可通过制定count参数来设定匹配项数量,默认为0,即返回所有匹配结果,设为1则按从左到右,从上到下的顺序返回第一个匹配的单元格
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

result = sheet.find('AA',count=1)

add_picture

add_picture(file, col, row, width=None, height=None)

方法描述

向指定位置插入图片

参数说明

file<str>插入图片的路径

col<str>左上角单元格的列号

row<str>左上角单元格的行号

width<float>图片的宽度

height<float>图片的高度

调用样例- rpa.app.wps.excel.Sheet.add_picture-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

pic_path = r'D:\2_测试文件归档\OCR文字识别.png'
sheet.add_picture(pic_path,'C','2')

get_row_height

get_row_height(row)

方法描述

获得指定行高度

参数说明

row<str>行号

返回值说明

返回行高<str>

调用样例- rpa.app.wps.excel.Sheet.get_row_height-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

row_height = sheet.get_row_height('1')

set_row_height

set_row_height(row, height)

方法描述

设置指定行高度

参数说明

row<str>行号

height<str>行高

调用样例- rpa.app.wps.excel.Sheet.set_row_height-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

sheet.set_row_height('1','20')

get_col_width

get_col_width(col)

方法描述

获得指定列宽度

参数说明

col<str>列号

返回值说明

返回列宽<str>

调用样例- rpa.app.wps.excel.Sheet.get_col_width-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

col_width = sheet.get_col_width('A')

set_col_width

set_col_width(col, width)

方法描述

设置指定列宽度

参数说明

col<str>列号

width<str>列宽

调用样例- rpa.app.wps.excel.Sheet.set_col_width-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

sheet.set_col_width('A','20')

get_formula

get_formula(range)

方法描述

获取指定范围的公式

参数说明

range<str>'A'为列 '1'为行 'A1'为单元格 'A1:B2'为范围

返回值说明

返回指定范围的公式<str>

调用样例- rpa.app.wps.excel.Sheet.get_formula-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

formula = sheet.get_formula("A1")

set_formula

set_formula(range, formula)

方法描述

设置指定范围的公式

参数说明

range<str>'A'为列 '1'为行 'A1'为单元格 'A1:B2'为范围

formula<str>公式

调用样例- rpa.app.wps.excel.Sheet.set_formula-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

formula = "=TODAY()"
sheet.set_formula("E2:F3",formula)

get_style

get_style(range, style, color_format='RGB')

方法描述

获取指定范围的样式

参数说明

range<str>'A'为列 '1'为行 'A1'为单元格 'A1:B2'为范围

style<str>样式

可选项:

  • fontsize : 字体大小

  • fontcolor : 字体颜色

  • fontname : 字体名称

  • bgcolor : 背景色

color_format<str>颜色类型,当style为fontcolor/bgcolor时有效,可传入'HEX'|'RGB'

调用样例- rpa.app.wps.excel.Sheet.get_style-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

style = sheet.get_style("A1:B2","fontsize")

set_style

set_style(range, style, value, color_format='RGB')

方法描述

设置指定范围的样式

参数说明

range<str>'A'为列 '1'为行 'A1'为单元格 'A1:B2'为范围

style<str>样式

可选项:

  • fontsize : 字体大小

  • fontcolor : 字体颜色

  • fontname : 字体名称

  • bgcolor : 背景色

value<str>设置该属性的值,如果style为fontcolor/bgcolor,则value可以为'#FFFFFF'或者'255,255,255'

color_format<str>颜色类型,如果style为fontcolor/bgcolor,需设置format为'HEX'或者'RGB'

调用样例- rpa.app.wps.excel.Sheet.set_style-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

sheet.set_style("A3","bgcolor","#FF0000","HEX")

get_comment

get_comment(range)

方法描述

获取单元格的注释

参数说明

range<str>'A1'为单元格

返回值说明

返回单元格的注释,当单元格没有注释时,返回None<str>

调用样例- rpa.app.wps.excel.Sheet.get_comment-

# 注意事项:使用前需确认已安装WPS相关软件
# 当目标单元格本身并无注释时,此方法将返回None
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

comment = sheet.get_comment("A1")

set_comment

set_comment(range, comment)

方法描述

往单元格插入注释

参数说明

range<str>'A1'为单元格

comment<str>注释

调用样例- rpa.app.wps.excel.Sheet.set_comment-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

comment = "RPA测试"
sheet.set_comment("A1",comment)

replace

replace(text, replacement, range=None, match_case=False)

方法描述

替换

参数说明

text<str>要替换的内容

replacement<str>替换成的内容

range<str>查找范围:如'A1:C5', 如果为空则查找整个Sheet(默认整个Sheet)

match_case<bool>是否大小写匹配

调用样例- rpa.app.wps.excel.Sheet.replace-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

sheet.replace("test","RPA_TEST")

to_pdf

to_pdf(file)

方法描述

转化成pdf

参数说明

file<str>保存的pdf路径

调用样例- rpa.app.wps.excel.Sheet.to_pdf-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path,visible=True)
sheet = excel.get_sheet()

path = r"D:\2_测试文件归档\sheet转pdf.pdf"
sheet.to_pdf(path)

select_pivot_field_items

select_pivot_field_items(name, array, index=1, select=True)

方法描述

选择/取消选择一组透视表筛选项

参数说明

index<int>数据透视表编号,如果有多张透视表需指定第几张

name<str>字段名

array<list>待选择的值列表

select<bool>选择或取消

调用样例- rpa.app.wps.excel.Sheet.select_pivot_field_items-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下,此例中会取消勾选"购买者"这个字段下,值为"AA"或"BB"的相关数据,对应数据不显现:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path, visible=True)
sheet = excel.get_sheet('数据透视表')

sheet.select_pivot_field_items('购买者', ['AA','BB'], select=False)

clear_range

clear_range (range, clear_format=True)

方法描述

清除Excel中区域数据

参数说明

range<str>excel区域,如:'A1:B2'

clear_format<bool>是否清除格式

调用样例- rpa.app.wps.excel.Sheet.clear_range-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path, visible=True)
sheet = excel.get_sheet()

sheet.clear_range('A1:B2')

calculate_sum_of_col

calculate_sum_of_col(col, start_row=1, condition='<>')

方法描述

计算列和

参数说明

col<str>列号

start_row<int>起始行号

condition<str>定义哪些单元格将被相加求和的条件,其形式可以为数字,表达式或文本,例如, :<>(仅对数字加和),>32(对大于32的数字加和)

返回值说明

返回列和 <float>

调用样例- rpa.app.wps.excel.Sheet.calculate_sum_of_col-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path, visible=True)
sheet = excel.get_sheet()

col_sum = sheet.calculate_sum_of_col('A', start_row=1)
print(col_sum)

calculate_sum_of_range

calculate_sum_of_range (range, condition='<>')

方法描述

计算区域和

参数说明

range<str>excel区域,如:'A1:B2'

condition<str>定义哪些单元格将被相加求和的条件,其形式可以为数字,表达式或文本,例如, :<>(仅对数字加和),>32(对大于32的数字加和)

返回值说明

返回列和 <float>

调用样例- rpa.app.wps.excel.Sheet.calculate_sum_of_range-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path, visible=True)
sheet = excel.get_sheet()

range_sum = sheet.calculate_sum_of_range('A1:C5')
print(range_sum)

hide_region

hide_region(hide_region_type='row', start_row=None, end_row=None, start_col=None, end_col=None)

方法描述

隐藏区域

参数说明

hide_region_type<str> 隐藏区域类型

可选项:

  • row: 隐藏一行或多行

  • col: 隐藏一列或多列

start_row<str>区域起始行号,仅隐藏区域类型为row时有效,可传入'1'

end_row<str>区域结束行号,仅隐藏区域类型为row时有效,可传入'3'

start_col<str>区域起始列号,仅隐藏区域类型为col时有效,可传入'A'|'a'

end_col<str>区域结束列号,仅隐藏区域类型为col时有效,可传入'D'|'d'

调用样例- rpa.app.wps.excel.Sheet.hide_region-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path, visible=True)
sheet = excel.get_sheet()

sheet.hide_region(hide_region_type='row', start_row='1', end_row='4', start_col=None, end_col=None)
sheet.hide_region(hide_region_type='col', start_row=None, end_row=None, start_col="a", end_col="f")

show_region

show_region(show_region_type='row', start_row=None, end_row=None, start_col=None, end_col=None)

方法描述

显示区域

参数说明

show_region_type<str> 显示区域类型

可选项:

  • row: 显示一行或多行

  • col: 显示一列或多列

start_row<str>区域起始行号,仅显示区域类型为row时有效,可传入'1'

end_row<str>区域结束行号,仅显示区域类型为row时有效,可传入'3'

start_col<str>区域起始列号,仅显示区域类型为col时有效,可传入'A'|'a'

end_col<str>区域结束列号,仅显示区域类型为col时有效,可传入'D'|'d'

调用样例- rpa.app.wps.excel.Sheet.show_region-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path, visible=True)
sheet = excel.get_sheet()

sheet.show_region(show_region_type='row', start_row='1', end_row='3', start_col=None, end_col=None)
sheet.show_region(show_region_type='col', start_row=None, end_row=None, start_col="b", end_col="c")

multi_filter

multi_filter(filters_val, range=None, delete=False)

方法描述

对多列进行筛选

参数说明

filters_val<dic>按以下格式书写 {'A':['testA1','testA2','testA3'],'B':['testB1','testB2']'...}

range<str>筛选列范围: 如'A1:C5', 如果为空则筛选整个Sheet(默认整个Sheet)

delete<bool>筛选后是否删除,在3.4.3及以后版本无效

调用样例- rpa.app.wps.excel.Sheet.multi_filter-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下,运行后,会开启筛选并选择A列值为test01或test02且B列值为1或2的行:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path, visible=True)
sheet = excel.get_sheet()
filter_exp = {
    'A':['test01','test02'],
    'B':['1','2']
}
sheet.multi_filter(filter_exp)

create_pivot_table

create_pivot_table(data_sheet, data_range, pivot_sheet, pivot_range, pivot_settings)

方法描述

创建透视表

参数说明

data_sheet<str>透视表源数据所在Sheet名称,如'Sheet1'

data_range<str>透视表源数据范围,如'A1:C10'

pivot_sheet<str>透视表插入的Sheet名称,如'Sheet2'

pivot_range<str>透视表插入的位置,如'A1'

pivot_settings<PivotTableSettings>透视表设置

调用样例- rpa.app.wps.excel.Sheet.create_pivot_table-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下,此例中将以日期为筛选条件,以"购买者"作为行标题,以"类型"作为列标题,将"金额"进行求和计算
# 最终得到按日期筛选,每个购买者每种类型的总成交金额统计透视表:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path, visible=True)
sheet = excel.get_sheet('消费数据')

pivot_settings = rpa.app.wps.excel.PivotTableSettings('数据透视表设置')
pivot_settings.filters['日期'] = {} # 添加"筛选字段"
pivot_settings.rows['购买者'] = {} # 添加"行标签"
pivot_settings.columns['类型'] = {} # 添加"列标签"
pivot_settings.values['金额'] = {"Function": "xlSum"} # 添加"数值"

sheet.create_pivot_table('消费数据', 'A:D', '数据透视表', 'A1', pivot_settings)

excel.save()
excel.close()

说明

此例中的pivot_setings.values用于设定透视表字段值处理形式,其中Function可选的内容如下表所示:

|--------------|--------||Function|说明|| xlSum | 求和 || xlCount | 计数 || xlAverage | 平均值 || xlMax | 最大值 || xlMin | 最小值 || xlProduct | 乘积 || xlCountNums | 数值计数 || xlStDev | 标准偏差 || xlStDevP | 总体标准偏差 || xlVar | 方差 || xlVarP | 总体方差 |

refresh_pivot_table

refresh_pivot_table(index=1)

方法描述

刷新透视表

参数说明

index<int>数据透视表编号,如果有多张透视表需指定第几张

调用样例- rpa.app.wps.excel.Sheet.refresh_pivot_table-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下,此例会根据数据源更新数据透视表的值:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path, visible=True)
sheet = excel.get_sheet('数据透视表')

sheet.refresh_pivot_table(index=1)

get_all_pivot_field_items

get_all_pivot_field_items(name, index=1)

方法描述

获取透视表筛选列的所有项

参数说明

index<int>数据透视表编号,如果有多张透视表需指定第几张

name<str>字段名

返回值说明

返回筛选结果<list>

调用样例- rpa.app.wps.excel.Sheet.get_all_pivot_field_items-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下,本例会获取数据透视表中"购买者"这个字段下所有的不重复的值:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path, visible=True)
sheet = excel.get_sheet('数据透视表')

options_of_field = sheet.get_all_pivot_field_items('购买者')

get_number_format

get_number_format(range, format)

方法描述

获取指定范围的数字格式

参数说明

range<str>'A'为列 '1'为行 'A1'为单元格 'A1:B2'为范围

调用样例- rpa.app.wps.excel.Sheet.get_number_format-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path, visible=True)
sheet = excel.get_sheet()

sheet.get_number_format("D2")

set_number_format

set_number_format(range, format)

方法描述

设置指定范围的数值格式

参数说明

range<str>'A'为列 '1'为行 'A1'为单元格 'A1:B2'为范围

format<str>如'@',参见Excel中的单元格格式的自定义

调用样例- rpa.app.wps.excel.Sheet.set_number_format-

# 注意事项:使用前需确认已安装WPS相关软件
# 代码调用样例如下:
excel_file_path = r"D:\2_测试文件归档\测试Excel.xlsx"
excel = rpa.app.wps.excel.open(excel_file_path, visible=True)
sheet = excel.get_sheet()

sheet.set_number_format("D2","0.00")

说明

format参数可选值请参考Excel中的标准写法(单元格设置-数字-自定义)