python - 如何使用 openpyxl 清除列过滤器
问题描述
我遇到了现有电子表格的问题,其中用户应用了自动过滤器,然后在保存工作簿之前根据某些标准进行了过滤。我想最好使用清除这些过滤器,openpyxl
但似乎不知道该怎么做。设置它们很简单。
所以我尝试的是实际上只是将自动过滤器移动到其他范围。这适用于将过滤器从受影响的列移开,但它不会清除过滤器。它仍然存在。
使用下面的代码,我可以设置autofilter
:
from openpyxl import load_workbook
filename = "path_to\\filter_test.xlsx"
wb = load_workbook(filename)
ws = wb.active
ws.auto_filter.ref = ws.dimensions
wb.save(filename)
然后我打开电子表格并将过滤器设置为某种状态以过滤数据并保存工作簿。
然后我移动过滤器:
from openpyxl import load_workbook
filename = "C:\\Users\\paul.nel\\Desktop\\filter_test.xlsx"
wb = load_workbook(filename)
ws = wb.active
ws.auto_filter.ref = "Z100"
wb.save(filename)
它会移动它但不会取消过滤之前的列。文档没有具体解决这个问题,也没有任何搜索具有建设性。
解决方案
推荐阅读
- c++ - 如何使用 Bullet Physics SDK 清除 VS2015 中的错误 LNK2001?
- c++ - 给定描述使用什么数据类型?
- google-apps-script - 无法从表格插件创建 onFormSubmit 触发器
- python - 无法解析使用 rest api 返回的 xml 响应
- jmeter - 无法在 jmeter 5.1 上录制脚本
- c++ - 获取最后 5 个数组对象 C++
- firebase - 如何阅读 Firebase 文档
- jquery - 附加 HTML 后如何在点击事件中检测 id
- c - 不使用返回值调用函数有什么影响?
- css - 如何创建“浮动”首字下沉(可能不使用浮动或首字母)?