如何在python的xlwt中为一种样式添加多种格式?

时间:2019-06-09 14:10:45

标签: python excel python-3.7 xlwt

我想知道如何在一个变量中添加不同的格式,例如字体,背景色,百分比格式,调色板颜色等,例如,我将选择变量样式。现在在样式上,我也想选择格式字体,也要为单元格选择背景颜色,并且还想添加一个百分号。

我创建了一个变量样式,并添加了背景色方法,但是在同一变量上,我无法添加字体格式和百分号。请指教

style5 = xlwt.easyxf('pattern:pattern solid,fore_colour grey25;')

style_percent = xlwt.easyxf(num_format_str ='0.00%')

上面的代码显示我创建了两个变量,并且背景颜色和百分号已分别设置格式,实际上,我想使用一个变量并为该变量添加所有这些格式,例如,我只会创建style5并喜欢在其中添加模式和num_format_str。我该怎么办。

1 个答案:

答案 0 :(得分:0)

查看此

Views.py

def export_styling_xls(request):
    response = HttpResponse(content_type='application/ms-excel')
    response['Content-Disposition'] = 'attachment; filename="users.xls"'

    wb = xlwt.Workbook(encoding='utf-8')
    ws = wb.add_sheet('Styling Data') # this will make a sheet named Users Data - First Sheet
    styles = dict(
        bold = 'font: bold 1',
        italic = 'font: italic 1',
        # Wrap text in the cell
        wrap_bold = 'font: bold 1; align: wrap 1;',
        # White text on a blue background
        reversed = 'pattern: pattern solid, fore_color blue; font: color white;',
        # Light orange checkered background
        light_orange_bg = 'pattern: pattern fine_dots, fore_color white, back_color orange;',
        # Heavy borders
        bordered = 'border: top thick, right thick, bottom thick, left thick;',
        # 16 pt red text
        big_red = 'font: height 320, color red;',
    )

    for idx, k in enumerate(sorted(styles)):
        style = xlwt.easyxf(styles[k])
        ws.write(idx, 0, k)
        ws.write(idx, 1, styles[k], style)

    wb.save(response)

    return response