有能力过滤列的excel文件

我需要创build可以被填充的列的excel。

宁愿使用openpyxl,因为我已经使用StyleFrame来deviseexcel。

这是使用StyleFrame的解决scheme,我不得不使用index_0的“row_to_add_filters”来添加filter的列….

from StyleFrame import StyleFrame, colors excel_writer = StyleFrame.ExcelWriter('example.xlsx') sf = StyleFrame({'a': [1, 2, 3], 'b': [1, 1, 1], 'c': [2, 3, 4]}) sf.apply_column_style(cols_to_style=['a', 'c'], protection=True, style_header=True) sf.apply_style_by_indexes(indexes_to_style=2, cols_to_style='b', bg_color=colors.yellow, protection=True) sf.to_excel(excel_writer=excel_writer, row_to_add_filters=0, columns_and_rows_to_freeze='B2', allow_protection=True) excel_writer.save() 

这段代码使用xlwt。 它写行和colums。

 import xlwt def writelineSimple(shet,line, lstLine): col=0 for elem in lstLine: shet.write(line, col, elem) col=col+1 def writecolum(shet,line,col, lstLine): for elem in lstLine: shet.write(line, col, elem) line=line+1 def writeline(shet,line,col, lstLine): for elem in lstLine: shet.write(line, col, elem) col=col+1 book = xlwt.Workbook(encoding="utf-8") sheet1 = book.add_sheet("Sheet 1") writelineSimple(sheet1,0,["col1","col2","col3","col4","col5"]) writelineSimple(sheet1,1,["writelineSimple1","writelineSimple2"]) writeline(sheet1,3,3,["writeline1","writeline2","writeline3"]) writecolum(sheet1,5,5,["writecolum1","writecolum2","writecolum3"]) book.save("myfirstgeneratedexcel.xls") 

myfirstgeneratedexcel.xls

 col1 col2 col3 col4 col5 writelineSimple1 writelineSimple2 writeline1 writeline2 writeline3 writecolum1 writecolum2 writecolum3