openpyxl刷新透视表 不念不忘少年蓝@ 2022-12-29 01:55 309阅读 0赞 # 一、概述 # openpyxl提供对透视表的读取支持,以便将它们保留在现有文件中。pivot表的规范(虽然是扩展的)并不明确,也不希望客户机代码能够创建pivot表。但是,应该可以编辑和操作现有的透视表,例如更改它们的范围或是否应该自动更新设置。 需求:目前是数据源改变时,透视表的数据没有变化,因此需要刷新透视表才行。 # 二、演示 # 本文使用的pytho版本为:3.7.9 ## 安装openpyxl ## pip3 install openpyxl==3.0.4 **注意:千万不要安装3.0.5,否则打开包含透视表的excel会报错。** ... TypeError: Value must be a sequence ## 创建透视表 ## 现有一个4567.xlsx,内容如下: ![e04494dcaba1ae7181ab81e1cace7a4b.png][] 在这个表,我们来创建一下透视表。点击插入-->数据透视表-->数据透视表 区域选择数据部分 ![bbfac1f437268529e523e5da07315225.png][] 点击确定 ![83ee4d65a8f077610994c154bcecb272.png][] 选择2个列,如下图 ![563a74701e458fcc8ca2c45bb2387146.png][] 效果如下: ![b4ce3845dbd83bcb11c219f1e128de4b.png][] 准备好了,先来删除最后一条数据,赵六。会发现透视表的总计数字并没有变化。 ![504d79f679a8d668797e6440526288ff.png][] 使用openpyxl来刷新一下透视表 # !/usr/bin/python3 # -*- coding: utf-8 -*- import openpyxl excel_writer = "4567.xlsx" wb = openpyxl.load_workbook(excel_writer) # 打开excel文件 pivot_sheet = wb["Sheet1"] # 打开指定Sheet pivot = pivot_sheet._pivots[0] # 任何一个都可以共享同一个缓存 pivot.cache.refreshOnLoad = True # 刷新加载 wb.save(excel_writer) # 保存 执行代码,再次查看excel表 ![f9a07c2a051ec683cd48b71c117fc697.png][] 发现透视表的统计数据,已经刷新过来了。 本文参考链接: [https://blog.csdn.net/masmq/article/details/107189931][https_blog.csdn.net_masmq_article_details_107189931] [e04494dcaba1ae7181ab81e1cace7a4b.png]: /images/20221120/01e18f6a58ae4419a29ef323adaaee0e.png [bbfac1f437268529e523e5da07315225.png]: https://img-blog.csdnimg.cn/img_convert/bbfac1f437268529e523e5da07315225.png [83ee4d65a8f077610994c154bcecb272.png]: https://img-blog.csdnimg.cn/img_convert/83ee4d65a8f077610994c154bcecb272.png [563a74701e458fcc8ca2c45bb2387146.png]: https://img-blog.csdnimg.cn/img_convert/563a74701e458fcc8ca2c45bb2387146.png [b4ce3845dbd83bcb11c219f1e128de4b.png]: https://img-blog.csdnimg.cn/img_convert/b4ce3845dbd83bcb11c219f1e128de4b.png [504d79f679a8d668797e6440526288ff.png]: https://img-blog.csdnimg.cn/img_convert/504d79f679a8d668797e6440526288ff.png [f9a07c2a051ec683cd48b71c117fc697.png]: https://img-blog.csdnimg.cn/img_convert/f9a07c2a051ec683cd48b71c117fc697.png [https_blog.csdn.net_masmq_article_details_107189931]: https://blog.csdn.net/masmq/article/details/107189931
还没有评论,来说两句吧...