我有一个Excel文档,我想要在两个工作表“Table”和“Test”上删除格式(任何单元格颜色/边框)。
我已经查看了PatternFill的所有文档,但我只看到如何应用颜色/格式,而不是如何将它们重置为null。
如果您能提供任何帮助/建议,将不胜感激。
谢谢
我已经查看了PatternFill的所有文档,但我只看到如何应用颜色/格式,而不是如何将它们重置为null。
如果您能提供任何帮助/建议,将不胜感激。
谢谢
为了不让单元格显示颜色,需要创建一个带有参数fill_type=None
的PatternFill
对象。下面是一个用于清除现有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')
最简单的解决方案:
cell.value = None
cell.border = None # Border() more recommended
cell.fill = PatternFill()