EPPlus删除数据验证

时间:2018-08-03 10:43:00

标签: c# excel epplus

当我打开在某些单元格上具有数据验证的现有工作表时,我想删除数据验证,但是在运行时工作表上和单元格上的数据验证集合显示在单元格上没有数据验证< / p>

之所以出现这种情况,是因为我删除了一堆对其进行数据验证的行,因此下面的行向上移动,然后采用该数据验证公式,在这种情况下为列表

我正在使用Ep Plus在c#中进行开发

我基本上需要知道如何删除现有的数据验证或在删除行后停止将验证数据复制到行中

作为我工作流程的一部分,我通过c#代码将数据验证列表添加到许多其他单元格中。这些显示在工作表的datavalidation属性中,但是工作表上已经存在的验证未显示,我无法理解为什么

2 个答案:

答案 0 :(得分:1)

i是工作表编号:

worksheet = package.Workbook.Worksheets[i];

其中D17是具有验证的单元格地址:

var v = worksheet.DataValidations["D17"];

if (v != null)
{
    worksheet.DataValidations.Remove(v);
}

答案 1 :(得分:0)

您可以通过调用EPPlus中ExcelDataValidationCollection类上的Remove或RemoveAll函数来删除数据验证。 RemoveAll函数将lambda作为输入参数,因此您可以指定要删除验证的条件。

myWorksheet.DataValidations.RemoveAll(x => /*conditions goes here*/);