用xlwings 对excel 进行筛选
最近想用xlwings 对excel 进行筛选 粗略翻了下 官方文档 https://docs.xlwings.org/en/stable/index.html
也没有找到相关的内容, 然后搜了下 找到了个 关于pywin32 的 帖子 https://stackoverflow.com/questions/2967949/setting-criteria-on-an-autofilter-in-pywin32
根据帖子 上的内容 尝试使用api 解决了问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # 是否筛选 if table.sheets[ 1 ].api.AutoFilterMode = = True : # 取消筛选 table.sheets[ 1 ].api.AutoFilterMode = False # 筛选 table.sheets[ 1 ]. range (( 1 , 1 ),(i,j)).api.AutoFilter(field: = int (j), Criteria1: = "=1" , False ) """ 上面的api 后面就是用了vba的方法 field 是需要筛选的列 criteria1 是条件 最后一个false 代表不显示下拉箭头 #############################<br>'vba 代码如下 |
Sub filter()
Dim ws As Worksheet
Dim i&, j&
Set ws = ActiveWorkbook.Worksheets(1)
MsgBox ws.AutoFilterMode
i = ws.Cells(Rows.Count, 1).End(xlUp).Row
j = ws.Cells(1, Columns.Count).End(xlToLeft).Column
Debug.Print i; j
If ws.AutoFilterMode Then
ws.AutoFilterMode = False
End If
ws.Range(ws.Cells(1, 1), ws.Cells(i, j)).AutoFilter field:=3, Criteria1:=">=5"
i = 0
For Each rngcell In [a1].CurrentRegion.SpecialCells(xlCellTypeVisible).Areas
i = i + rngcell.Rows.Count
Next rngcell
'https://blog.csdn.net/taller_2000/article/details/81269915s
'i = ws.Cells(Rows.Count, 1).End(xlUp).Row
Debug.Print "条目"; i - 1
If ws.AutoFilterMode Then
ws.AutoFilterMode = False
End If
End Sub
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人