首页 > 解决方案 > 模式的 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 模块中可能存在模式错误。我能做些什么来解决这个问题吗?或者任何走动可能?(格式类中有关模式的文档很短,对解决这种情况没有多大帮助)

希望大家能给我指教。提前致谢!

标签: xlsxwriter

解决方案


这可能是一个错误。当未指定前景色和背景色时,会出现一些奇怪的 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()

输出:

在此处输入图像描述


推荐阅读