我尝试使用将自动筛选应用于现有工作表,但该过程在自动筛选行上不断失败。我在网上做了很多研究,找不到我的电脑为什么不工作,也找不到其他方法。有人能帮忙吗(另外,我还尝试过使用win32com[例如:ws\u win32.AutoFilter()],但也没有成功)
我的示例代码:
def _set_autofilter(self):
wb_xlsw = xlsxwriter.Workbook('ExistingWorkbook.xlsb')
ws_xlsw = wb_xlsw.get_worksheet_by_name('Data')
ws_xlsw.autofilter('A1:D19904')
如果您没有在XlsxWriter中创建一个工作表,那么您将无法
get_worksheet_by_name()
使用该名称创建工作表如果您试图读取一个现有的文件,那么您不能用XlsxWriter这样做。它只创建新文件
您只需留在win32com中即可实现以下目标:
不过,我似乎无法获得自动筛选使用数组的条件。 ws.Range(“A:A”).AutoFilter(Field=1,Criteria1=[1,3])将运行,但只对列表(3)中的最后一项进行筛选。 而VBA语法ws.Range(“A:A”).AutoFilter(Field=1,Criteria1=Array(1,3))将触发异常
相关问题 更多 >
编程相关推荐