删除Excel Open XML中的现有范围

时间:2012-01-08 17:39:09

标签: excel openxml openxml-sdk

我正在使用Open XML SDK创建Excel文档。为了节省时间,我从现有文档开始,然后进行我需要的更改。

要查找某些单元格,我现有的文档会定义多个范围。但是,当我完成后,我想删除这些范围。

我似乎找不到任何方法从已经拥有它们的Excel文档中删除范围。任何提示,建议或链接?

2 个答案:

答案 0 :(得分:0)

命名范围在工作簿中定义。 看看它是api并尝试在那里找到它。或者查看MSDN

另外,请查看Templater。也许它已经做了你需要的。免责声明:我是作者。

答案 1 :(得分:0)

范围作为工作簿元素下的定义名称存储。您需要根据工作表中给出的名称找到已定义的名称元素,然后将其删除。

public void DeleteRange(WorkbooPart workbookPart, string definedNameToDelete)
{
   workbookPart.Workbook.DefinedNames.Descendants<DefinedName>().First(x => x.Name == definedNameToDelete).Remove();
}

这只是您可能需要做的快速摘要。显然,如果DefinedNames元素不存在或者您要删除的已定义名称已被删除,则可能需要进行错误检查,但希望这会指向正确的方向。