有一组任务数据,要把它excel下载下来,如果仅仅导出,用csv导出就很方便。
但是要导出漂亮的样式,重复的地方要合并单元格,设置背影颜色,字体,边框等。而CSV是纯文本格式,不支持设置各种样式。
研究了一天,把代码写了出来。
完整代码如下:
import xlwt
book = xlwt.Workbook(encoding='utf-8')
sheet = book.add_sheet('sheetname')
def set_style(color='white', height=260, bold=False):
#: 设置单元格字体
style = xlwt.XFStyle()
font = xlwt.Font()
# font.name = name
font.bold = bold
font.color_index = 4
font.height = height
style.font = font
# 设置单元格背景颜色
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = xlwt.Style.colour_map[color]
style.pattern = pattern
#:设置单元格边框线条
borders = xlwt.Borders() # Create Borders
# May be: NO_LINE, THIN, MEDIUM, DASHED, DOTTED, THICK, DOUBLE, HAIR,
# MEDIUM_DASHED, THIN_DASH_DOTTED, MEDIUM_DASH_DOTTED,
# THIN_DASH_DOT_DOTTED, MEDIUM_DASH_DOT_DOTTED,
# SLANTED_MEDIUM_DASH_DOTTED, or 0x00 through 0x0D.
borders.left = xlwt.Borders.THIN