excel 具有过滤列功能的文件
excel file with the ability to filter columns
我需要创建 excel 可以过滤的列。
更喜欢使用 openpyxl,因为我已经使用 StyleFrame 来设置 excel 的样式。
此代码使用 xlwt。
它写行和列。
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
这是使用 StyleFrame 的解决方案,我不得不使用索引为 0 的 "row_to_add_filters" 来向列添加过滤器....
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()
我需要创建 excel 可以过滤的列。
更喜欢使用 openpyxl,因为我已经使用 StyleFrame 来设置 excel 的样式。
此代码使用 xlwt。 它写行和列。
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
这是使用 StyleFrame 的解决方案,我不得不使用索引为 0 的 "row_to_add_filters" 来向列添加过滤器....
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()