我正试图通过编程在excel中创建一个过滤器,所以当使用openpyxl创建工作表时,每个工作表的第一行将被设置为一个筛选器。我看过这些文档,但我所能找到的只是如何过滤数据,而不是创建过滤器。
现在openpyxl的实现是否可能?
发布于 2016-04-01 15:32:49
发布于 2018-07-19 15:18:19
复制并粘贴到.py文件中并运行。
import pandas as pd
import numpy as np
# Here is an example dataframe
df_example = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
# Create xlsx file
filepath = 'mytempfile.xlsx'
with pd.ExcelWriter(filepath, engine='xlsxwriter') as writer:
df_example.to_excel(writer, sheet_name='Sheet1',index=False)
# Add filter feature to first row
import openpyxl
xfile = openpyxl.load_workbook(filepath)
sheet = xfile.get_sheet_by_name('Sheet1')
maxcolumnletter = openpyxl.utils.get_column_letter(sheet.max_column)
sheet.auto_filter.ref = 'A1:'+maxcolumnletter+str(len(sheet['A']))
# Save the file
xfile.save(filepath)
print 'your file:',filepathhttps://stackoverflow.com/questions/36357261
复制相似问题