案例介绍
Excel模块是用来向用户提供一系列操作Excel的SDK,让用户通过简单的参数和方法调用来实现一些复杂的操作。要使用Excel模块,需要使用 rpa.app.microsoft.excel
进行操作。
案例实现
1、案例一
业务场景:抓取天猫商品信息数据,并保存到Excel中。案例流程:打开Excel-设置字段-打开天猫-搜索目标商品信息-抓取数据-填充到Excel中。
1).示例代码(文件地址需换成自己本地):
from rpa.core import *
from rpa.utils import *
import rpa4 as rpa # 使用V3引擎
def start():
# 在此处开始编写您的应用
'''
爬取淘宝商品信息sdk
商品名称
'''
#打开Excel表格
xls = rpa.app.microsoft.excel.open(file = r'C:\Users\派大星\Desktop\淘宝男装.xlsx',visible = True)
sheet = xls.get_sheet()
#激活当前sheet
sheet.activate()
#设置A、B、C列列宽
sheet.set_col_width(col = 'A',width = '6')
sheet.set_col_width(col = 'B',width = '65')
sheet.set_col_width(col = 'C',width = '7')
#向A1、B1、C1分别写入序号、男装名称、价格
var = '序号'
sheet.write(range ='A1',value = var)
var = '商品名称'
sheet.write(range ='B1',value = var)
var = '价格'
sheet.write(range ='C1',value = var)
#打开chrome 网页
page = rpa.app.chrome.create('https://www.tmall.com/?from=tianmao.com')
#天猫输入框输入-搜索男装t恤短袖
var = '男装t恤短袖'
page.input_text("天猫 - 搜索输入框",value = var)
#点击搜索
page.click("天猫—搜索")
flag = 0
count_data = 1
while True:
if flag == 4:
break
else:
#获取所有男装-价格-名称
# 由于搜索商品新打开一个页签页面,需要重新赋值新页签的对象,
page = rpa.app.chrome.catch('男装t恤短袖-天猫', mode='title', pattern='contain')
count = 1
sleep(3)
for i in range(1,61):
var = page.text(element = "男装衣服名称",index = i)
sheet.write(range = 'B'+str(count+count_data),value = var)
sheet.write(range = 'A'+str(count+count_data),value = str(count_data))
var = page.text(element = "男装衣服价格",index = i)
sheet.write(range = 'C'+str(count+count_data),value = var)
count_data+=1
flag += 1
page.click("男装t恤短袖—下一页")
sleep(3)
xls.save()
2、案例二
业务场景:操作Excel数据透视表。案例流程:创建透视表-刷新透视表-获取透视表筛选列的所有项-选择/取消选择一组透视表筛选项。
1).设置以及创建透视表
创建前的Excel表格展示:创建透视表的透视表格展示:代码示例(文件地址需换成自己本地):
xls = rpa.app.microsoft.excel.open(r'C:\Users\XXXX\Desktop\数据透视表.xlsx',visible = True)
sheet = xls.get_sheet('Sheet1')
pivot_settings = rpa.app.microsoft.excel.PivotTableSettings('MyPivotTable')
pivot_settings.columns['购买者'] = {} # 添加"列标签"
pivot_settings.filters['日期'] = {} # 添加"筛选字段"
pivot_settings.rows['类型'] = {} # 添加"行标签"
pivot_settings.values['金额'] = {"Function": "xlSum"} # 添加"数值"
sheet.create_pivot_table('Sheet1', 'A1:D8', '透视表', 'A1', pivot_settings)
sleep(3)
xls.save()
2).刷新透视表
刷新前透视表前展示:刷新透视表后展示:示例代码(文件地址需换成自己本地):
xls = rpa.app.microsoft.excel.open(r'C:\Users\XXX\Desktop\数据透视表.xlsx',visible = True)
sheet1 = xls.get_sheet("Sheet1")
sheet1.write("D3", "3434") # 修改原数据的值
sheet2 = xls.get_sheet('透视表')
sheet2.refresh_pivot_table(index=1)
sleep(5)
xls.save()
3).获取透视表筛选列的所有项
示例代码(文件地址需换成自己本地):
xls = rpa.app.microsoft.excel.open(r'C:\Users\XXX\Desktop\数据透视表.xlsx',visible = True)
sheet = xls.get_sheet('透视表')
items = sheet.get_all_pivot_field_items('购买者')
print(items)
输出内容:['爸爸', '百岁', '妈妈']
4).选择/取消选择一组透视表筛选项
操作透视表之前展示:进行操作后透视表展示:示例代码(文件地址需换成自己本地):
xls = rpa.app.microsoft.excel.open(r'C:\Users\XXX\Desktop\数据透视表.xlsx',visible = True)
sheet = xls.get_sheet('透视表')
sheet.select_pivot_field_items('购买者', ["爸爸"], select=False)
sleep(1)
sheet.select_pivot_field_items('类型', ["门票", "食品", "书籍", "音乐"],select = True)
sleep(1)
xls.save()
文档内容是否对您有帮助?