答案 0 :(得分:2)
以下是使用StyleFrame的解决方案,我不得不使用" row_to_add_filters"使用索引0将过滤器添加到列....
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()
答案 1 :(得分:-2)
此代码使用的是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