假设我有一个Excel表,如下所示:

我正在使用openpyxl在空单元格中编写一些数据验证。但是要应用它,我需要检查从C列到D列的单元格是否有值,如果没有,我想用一些数据验证来填充这些单元格。
例如,我如何才能得到C3,C4,D3,D4,E3,E4,F3,F4为空的输出,这样我就可以用来验证单元格了。
这是我将用来添加数据验证的代码,这就是为什么我需要例如C3:
data_val = DataValidation(type="list",formula1='=$E$3:$R$3')
ws.add_data_validation(data_val)
data_val.add(ws["C3"]) 发布于 2021-07-04 09:24:26
我找到了我正在寻找的答案,所以这是我将使用的代码,如果有人需要它的话:
import openpyxl
from openpyxl.worksheet.datavalidation import DataValidation
import re
path=r'...'
wb=openpyxl.load_workbook(path)
ws = wb.active
#for Column C
for row in range(ws.max_row):
for column in "C":
cell_name = "{}{}".format(column, row+1)
value= ws[cell_name].value
if value is None:
k=re.findall(r'[A-Za-z]+|\d+', cell_name)
data_val = DataValidation(type="list",formula1=''=$E${0}:$R${1}')'.format(k[1],k[1]))
ws.add_data_validation(data_val)
data_val.add(ws[cell_name])
wb.save()https://stackoverflow.com/questions/68240786
复制相似问题