excel Python:openpyxl将单元格填充和边框更改为"none“

wgmfuz8q  于 2023-01-10  发布在  Python
关注(0)|答案(2)|浏览(344)

我有一个Excel文档,我试图删除格式(任何单元格颜色/边框)上的2个工作表;“表格”和“测试”。
我已经浏览了所有关于PatternFill的文档,但是我只看到了如何应用颜色/格式,而没有看到如何将它们重置为null。
如果你们能提供任何帮助/建议,我们将不胜感激。
谢啦,谢啦

ddrv8njm

ddrv8njm1#

必须创建一个带有参数fill_type=NonePatternFill对象,才能不获取单元格颜色。下面是一段代码片段,用于去除现有excel工作簿中所有单元格的颜色和边框:

import openpyxl

# Load workbook
wb = openpyxl.load_workbook('workbook.xlsx')

# Initialize formatting styles
no_fill = openpyxl.styles.PatternFill(fill_type=None)
side = openpyxl.styles.Side(border_style=None)
no_border = openpyxl.styles.borders.Border(
    left=side, 
    right=side, 
    top=side, 
    bottom=side,
)

# Loop through all cells in all worksheets
for sheet in wb.worksheets:
    for row in sheet:
        for cell in row:
            # Apply colorless and borderless styles
            cell.fill = no_fill
            cell.border = no_border

# Save workbook
wb.save('workbook_modified.xlsx')
sg24os4d

sg24os4d2#

最简单的解决方案:

cell.value = None
cell.border = None # Border() more recommended
cell.fill = PatternFill()

相关问题