Openpyxl填充相邻单元格

2024-03-28 17:04:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到了一件很奇怪的事。当我试图用纯色填充excel工作表中的单元格时,它会填充相邻的单元格,有时甚至会填充几十个单元格。奇怪的是,我在代码的其他地方成功地做了同样的事情,只是这一个不同。我慢慢地对可能出了问题的想法没有了,我想也许这里有人遇到了类似的问题并解决了它。我的相关代码是:

__incorrectUnitsColour__='FF33CC'
cell, sheet =GetCellFromDest(str(named_range.destinations),wb) # Returns the cell pointed to by the named_range, this should work fine as I use it a lot in other places.

cell.style.fill.fill_type=openpyxl.style.Fill.FILL_SOLID
cell.style.fill.start_color.index=__incorrectUnitsColour__

如果您对可能出现的问题有任何想法,我很乐意听到他们的意见,他们甚至不需要工作来让我思考正确的方向;)

我在上面的代码中添加了:

^{pr2}$

它将按预期返回2 G。我还证实了,每运行几次,单元格高亮显示的程度就会增加。更奇怪的是,如果我使用openpyxl高亮显示同一工作表中的其他单元格,则同一区域将突出显示。在

我强烈地感觉到工作表设置有问题,但我不知道是什么。此外,只有当我试图以编程方式突出显示同一工作表中的多个单元格时,才会出现此错误。在

是什么使得在不同的工作表中高亮显示单元格变得更加奇怪,最终导致相同范围的单元格被高亮显示。在

{/OWSTRONG>工作表中的数据是否有后续处理?因为这可以解释这种行为。在


Tags: the代码style地方cellrange事情excel
1条回答
网友
1楼 · 发布于 2024-03-28 17:04:06

我已经调查过很多了。如果您遇到类似的问题,请按照this question of mine进行操作,它描述了上述问题的原因。到目前为止,这是openpyxl中的一个已知问题,一些人正在努力解决这个问题。所以希望这个bug(因为它已经被确认是由库中的一个bug引起的)将很快被修复。在

我可以建议尝试并缓解这个问题的是,以后在Excel中保存工作簿时,总是只选择一个没有使用openpyxl填充的单元格。另外,不要通过Excel本身过多地接触格式化的单元格,只要openpyxl。如果通过Excel更改单元格格式,请确保一次只更改一个单元格—如果将相同的样式应用于单元格区域,则当使用openpyxl设置单元格格式时,相同的区域也将随之更改。在

对我来说,这不尽如人意,这就是我所听过的作者的全部经历,我自己也明白了。在

相关问题 更多 >