![](/img/trans.png)
[英]How to find a reference to an array by the name of the variable as defined in the code in C#?
[英]Remove a defined name or broken reference in excel using C#
我的目的是从workbook.xml中的excel文件中删除所有"#REF"
。 我现在可以做的是在工作簿中找到所有“ #REF”引用,但是我不确定如何从文件中删除它们。
我的代码是休假的
这段代码查找文件中的所有"#REF"
var spreadsheet = DocumentFormat.OpenXml.Packaging.SpreadsheetDocument.Open(@"C:\Users\Craig\Desktop\newTest.xlsx", false);
var workbook = spreadsheet.WorkbookPart;
var names = workbook.Workbook.DefinedNames;
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"#REF");
int count= result.InactiveNamedRangeCount = names.Count(n => regex.IsMatch(n.InnerText));
Console.WriteLine(count);
foreach (var name in names)
{
if (regex.IsMatch(name.InnerText))
{
Console.WriteLine(name.InnerText);
}
}
在这里,我试图通过每个#REF
使用foreach删除它,但它不会删除其中的任何一个,而且我不确定为什么。
foreach (var name in names)
{
if (regex.IsMatch(name.InnerText))
{
name.Remove();
Console.WriteLine(name.InnerText);
Console.WriteLine(count);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.