EPPlus - 如何重命名命名范围并维护正确的公式?

时间:2016-04-19 22:18:49

标签: c# epplus renaming named-ranges

我有一个带有命名范围的Excel文件(只有一个单元格)。还有其他单元格的公式使用此名称。我正在尝试使用EPPlus以编程方式重命名单元格。我的第一次尝试我只是删除了旧名称并添加了新名称:

workbook.Names.Remove("OldName");
workbook.Names.Add("NewName", mySheet.Cells["B2"]);

这可以重命名范围,但公式仍然使用“OldName”,因此他们现在提出#NAME?而不是相应的单元格值。

如果我使用类似var nameReference = workbook.Names.First(x => x.Name == "OldName")的LINQ来获取对该名称的引用,我会通过尝试将名称属性设置为nameReference.Name == "NewName"来注意它是一个只读属性。

是否有一种方法我没有看到重命名这些命名范围?如果没有,我的情况有哪些替代方案?如果我可以获得对公式称为此命名范围的所有单元格的引用,我可以更改每个公式。我想我需要简单地扫描每个用过的单元格的公式以供参考,我认为这需要一段时间,特别是考虑到我实际上可能有几十个Excel工作簿需要扫描。

0 个答案:

没有答案
相关问题