Openpyxl生成Excel未显示数据验证提示与错误问题求助
解决openpyxl数据验证提示/错误信息不显示的问题
你遇到的问题是因为openpyxl默认不会开启数据验证的提示和错误信息显示功能,需要手动设置两个属性来对应Excel里的复选框:
showPrompt=True:对应开启“选中单元格时显示输入信息”复选框showError=True:对应开启“输入无效数据时显示错误信息”复选框
修改后的完整代码如下:
from openpyxl import Workbook from openpyxl.worksheet.datavalidation import DataValidation # 创建工作簿和工作表 wb = Workbook() ws = wb.active # 创建列表型数据验证对象 dv = DataValidation(type="list", formula1='"Dog,Cat,Bat"', allow_blank=True) # 设置自定义错误信息 dv.error ='Your entry is not in the list' dv.errorTitle = 'Invalid Entry' # 开启错误信息显示 dv.showError = True # 设置自定义提示信息 dv.prompt = 'Please select from the list' dv.promptTitle = 'List Selection' # 开启提示信息显示 dv.showPrompt = True # 将数据验证对象添加到工作表 ws.add_data_validation(dv) # 给指定单元格添加数据验证 c1 = ws["A1"] c1.value = "Dog" dv.add(c1) c2 = ws["A2"] c2.value = "An invalid value" dv.add(c2) # 给整列添加数据验证 dv.add('B1:B1048576') wb.save("demo.xlsx")
生成的Excel文件中,数据验证的两个复选框会被自动勾选,选中单元格时会显示设置的提示信息,输入无效数据时也会弹出预设的错误提示。
内容的提问来源于stack exchange,提问作者Ryan
相关产品推荐
相关产品推荐

