为什么 Excel 不能对 openpyxl 创建的样式进行 Excel "filter by color"?



我使用openpyxl创建了一个Excel工作簿和工作表。

我设置了一些单元格的填充和字体颜色,如下所示:

ws.cell(row=2, column=1).font = some_font_defined_earlier
ws.cell(row=2, column=1).fill = some_fill_defined_earlier

字体和填充应用正确,在Excel中看起来很棒。然而,在第1行的自动筛选中,我没有看到通常的"按颜色筛选"选项,当彩色单元格在Excel中着色时,我通常会看到这些选项。

我是否以错误/不同的方式应用了这些样式?我如何设置填充和字体颜色,同时让Excel允许我过滤颜色?

第1版:

为了清楚起见,我已经使用应用了自动过滤器

ws.auto_filter.ref = ws.dimensions

我在数值上看到了自动滤镜,但没有看到颜色。Filter by Color变灰,尽管许多细胞都有颜色。

答案似乎都在Excel中,而不是在工作簿中。Excel似乎对Filter by Color的灰显有一些不可预测的行为。

在我的例子中,我有超过10000行,正如Tips&技巧120-按颜色过滤下拉菜单灰显问题,Filter by Color无法工作:

  1. 此外,如果第一个彩色单元格出现在大约10000行之后,Excel可能无法检测到颜色。要克服这种行为,请使用颜色在第一个单元格中,现在它将启用"按颜色过滤"。只有问题是,这个彩色单元格将在您的筛选列表中是多余的

最新更新