【发布时间】:2021-08-07 06:17:40
【问题描述】:
我正在使用 Excel 的数据验证列表,检查单元格值是否在动态范围内(另一列的单元格值)。
问题是,如果我在源范围中添加一个值(例如“A”),我可以通过数据验证在单元格上输入该值。但是,如果我更改源(例如从“A”到“B”),具有数据验证的单元格仍然是“A”。
在 Excel 中有一个按钮可以在无效数据周围设置一个红色圆圈,但客户端并不总是检查一切是否正常。
我可以使用 EPPLUS 执行该检查吗?
【问题讨论】:
我正在使用 Excel 的数据验证列表,检查单元格值是否在动态范围内(另一列的单元格值)。
问题是,如果我在源范围中添加一个值(例如“A”),我可以通过数据验证在单元格上输入该值。但是,如果我更改源(例如从“A”到“B”),具有数据验证的单元格仍然是“A”。
在 Excel 中有一个按钮可以在无效数据周围设置一个红色圆圈,但客户端并不总是检查一切是否正常。
我可以使用 EPPLUS 执行该检查吗?
【问题讨论】:
文档不建议由 EPPlus 执行此检查: https://www.epplussoftware.com/Developers/Features 提到“创建、读取、修改、删除数据验证”并链接到 sample code in their wiki,这完全是关于设计工作表和检查其设计,没有内容验证。
我搜索了源代码并查看了ExcelDataValidation.cs 及其各种子类型。他们的“验证”方法只检查验证是否根据 Excel 的规则正确定义。
要实现您的要求,您必须使用 EPPlus 从单元格中获取验证,根据其类型对其进行解释并评估单元格内容。 an example 涉及到一些案例,可以让您了解它的发展方向。
【讨论】: