我正在使用 openpyxl 读取 excel 文件,但遇到以下问题:
有些单元格在 Excel 中似乎被删除,并且它们的单元格删除属性为 True,我成功使用 Openpyxl 处理它们
但有些单元格在Excel中似乎被删除,但格式单元格删除属性为False。 这是因为设置了 row Strike 属性。
我的问题是我无法使用 OpenPyxl 成功访问行的 Strike 属性
sheet = book[sheet_name]
for row in sheet[0:sheet.max_row]:
if sheet.row_dimensions[row[0].row].font.strike:
break
尽管有些行被删除,但我的代码永远不会中断
同样奇怪的是,当我查看工作表的 row_dimensions 时,我没有看到每行的条目,而只是某些行的条目,而且我没有看到被删除的行的任何条目。 我不明白根据什么标准,有些行有相应的 row_dimensions 而有些则没有
您知道如何进行或对此有想法吗?
使用此输入:
下面的代码似乎有效:
from openpyxl import Workbook
book = load_workbook(filename='Book 1.xlsx')
sheet = book['Sheet1']
for row_id, row in sheet.row_dimensions.items():
if row.font.strike:
print(f'{row_id}: strike row')
for row in sheet.iter_rows():
for cell in row:
cell_id = f'{cell.column_letter}{cell.row}'
if cell.font.strike:
print(f'{cell_id}: strike cell')
输出:
1: strike row
A1: strike cell
B1: strike cell
C1: strike cell
D1: strike cell
B2: strike cell
D2: strike cell