模式的 xlsxwriter 格式似乎......错误?

时间:2021-02-17 01:29:04

标签: xlsxwriter

所以我尝试在 xlsxwriter 中应用带有格式类的模式。

import xlsxwriter

wb = xlsxwriter.Workbook("Temp.xlsx")
sheet = wb.add_worksheet()

blank_pattern_format = wb.add_format({
            'align':'center',
            'valign' : 'vcenter',
            'border' : 1,
            'shrink' : True,
            'font_size' :10,
            'bold' : True,
            'pattern' : 4,
})

sheet.write("A1","",blank_pattern_format)
wb.close()

我想要第四个模式,即 Excel 中的“25% 灰色”。但该单元格的结果只是纯黑色。 有趣的是,当我检查那个黑色单元格的属性时,它实际上显示它的 bg_c​​olor 没有颜色,并且该单元格还应用了“25% 灰色”图案。

我试图将格式复制到 Excel 中的其他单元格。它也变成了纯黑色的。

但是当我再次进入单元格属性并选择完全相同的模式(“25% 灰色”)(显示为已被选择),然后单击确认而不调整任何其他内容时,它现在显示为 25%灰色图案,而不是纯黑色图案。

我认为这意味着 xlsxwriter 模块中可能存在模式错误。我能做些什么来解决这个问题吗?或者随便逛逛? (格式类中关于模式的文档很短,对解决这种情况没有帮助)

希望大家多多指教。提前致谢!

1 个答案:

答案 0 :(得分:1)

这可能是一个错误。当未指定前景色和背景色时,会出现一些奇怪的 Excel 边缘条件。我会研究一下。

与此同时,您可以通过指定背景颜色来解决此问题:

import xlsxwriter

wb = xlsxwriter.Workbook('temp.xlsx')
sheet = wb.add_worksheet()

blank_pattern_format = wb.add_format({
    'align': 'center',
    'valign': 'vcenter',
    'border': 1,
    'shrink': True,
    'font_size': 10,
    'bold': True,
    'pattern': 4,
    'bg_color': 'white',
})

sheet.write('A1', '', blank_pattern_format)
wb.close()

输出:

www.example.com/portal/login

相关问题