全部产品

如何操作Microsoft的excel

更新时间:2020-09-25 15:29:06

案例介绍


excel模块是用来向用户提供一系列操作Excel的SDK,让用户通过简单的参数和方法调用来实现一些复杂的操作。要使用excel模块,需要使用 rpa.app.microsoft.excel 进行操作。

案例实现

1、案例一

业务场景:抓取天猫商品信息数据,并保存到excel中。
案例流程:打开excel-设置字段-打开天猫-搜索目标商品信息-抓取数据-填充到excel中。

1).录制相关控件

录制相关控件视频

2).示例代码(文件地址需换成自己本地)

  1. from rpa.core import *
  2. from rpa.utils import *
  3. import rpa4 as rpa # 使用V3引擎
  4. def start():
  5. # 在此处开始编写您的应用
  6. '''
  7. 爬取淘宝商品信息sdk
  8. 商品名称
  9. '''
  10. #打开excel表格
  11. xls = rpa.app.microsoft.excel.open(file = r'C:\Users\XXXX\Desktop\淘宝男装.xlsx',visible = True)
  12. sheet = xls.get_sheet()
  13. #激活当前sheet
  14. sheet.activate()
  15. #设置A、B、C列列宽
  16. sheet.set_col_width(col = 'A',width = '6')
  17. sheet.set_col_width(col = 'B',width = '65')
  18. sheet.set_col_width(col = 'C',width = '7')
  19. #向A1、B1、C1分别写入序号、男装名称、价格
  20. var = '序号'
  21. sheet.write(range ='A1',value = var)
  22. var = '商品名称'
  23. sheet.write(range ='B1',value = var)
  24. var = '价格'
  25. sheet.write(range ='C1',value = var)
  26. #打开chrome 网页
  27. page = rpa.app.chrome.create('https://www.tmall.com/?from=tianmao.com')
  28. #天猫输入框输入-搜索男装t恤短袖
  29. var = '男装t恤短袖'
  30. page.input_text("天猫 - 搜索输入框",value = var)
  31. #点击搜索
  32. page.click("天猫—搜索")
  33. flag = 0
  34. count_data = 1
  35. while True:
  36. if flag == 4:
  37. break
  38. else:
  39. #获取所有男装-价格-名称
  40. count = 1
  41. for i in range(1,61):
  42. var = page.text(element = "男装衣服名称",index = i)
  43. sheet.write(range = 'B'+str(count+count_data),value = var)
  44. sheet.write(range = 'A'+str(count+count_data),value = str(count_data))
  45. var = page.text(element = "男装衣服价格",index = i)
  46. sheet.write(range = 'C'+str(count+count_data),value = var)
  47. count_data+=1
  48. flag += 1
  49. page.click("男装t恤短袖—下一页")
  50. sleep(3)
  51. xls.save()

2、案例二

业务场景:操作excel数据透视表。
案例流程:创建透视表-刷新透视表-获取透视表筛选列的所有项-选择/取消选择一组透视表筛选项。

1).设置以及创建透视表

创建前的excel表格展示:
excel1
创建透视表的透视表格展示:
2
代码示例(文件地址需换成自己本地):

  1. xls = rpa.app.microsoft.excel.open(r'C:\Users\XXXX\Desktop\数据透视表.xlsx',visible = True)
  2. sheet = xls.get_sheet('Sheet1')
  3. pivot_settings = rpa.app.microsoft.excel.PivotTableSettings('MyPivotTable')
  4. pivot_settings.columns['购买者'] = {} # 添加"列标签"
  5. pivot_settings.filters['日期'] = {} # 添加"筛选字段"
  6. pivot_settings.rows['类型'] = {} # 添加"行标签"
  7. pivot_settings.values['金额'] = {"Function": "xlSum"} # 添加"数值"
  8. sheet.create_pivot_table('Sheet1', 'A1:D8', '透视表', 'A1', pivot_settings)
  9. sleep(3)
  10. xls.save()

2).刷新透视表

刷新前透视表前展示:
111
刷新透视表后展示:
22
示例代码(文件地址需换成自己本地):

  1. xls = rpa.app.microsoft.excel.open(r'C:\Users\XXX\Desktop\数据透视表.xlsx',visible = True)
  2. sheet1 = xls.get_sheet("Sheet1")
  3. sheet1.write("D3", "3434") # 修改原数据的值
  4. sheet2 = xls.get_sheet('透视表')
  5. sheet2.refresh_pivot_table(index=1)
  6. sleep(5)
  7. xls.save()

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

示例代码(文件地址需换成自己本地):

  1. xls = rpa.app.microsoft.excel.open(r'C:\Users\XXX\Desktop\数据透视表.xlsx',visible = True)
  2. sheet = xls.get_sheet('透视表')
  3. items = sheet.get_all_pivot_field_items('购买者')
  4. print(items)

输出内容: ['爸爸', '百岁', '妈妈']

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

操作透视表之前展示:33
进行操作后透视表展示:
44
示例代码(文件地址需换成自己本地):

  1. xls = rpa.app.microsoft.excel.open(r'C:\Users\XXX\Desktop\数据透视表.xlsx',visible = True)
  2. sheet = xls.get_sheet('透视表')
  3. sheet.select_pivot_field_items('购买者', ["爸爸"], select=False)
  4. sleep(1)
  5. sheet.select_pivot_field_items('类型', ["门票", "食品", "书籍", "音乐"],select = True)
  6. sleep(1)
  7. xls.save()