使用c#删除excel中的公式链接
本文关键字:链接 删除 excel 使用 | 更新日期: 2023-09-27 18:13:03
我正在把工作表从book1复制到book2。工作表包含带有公式的单元格。在book2中的工作表'sheet1'上,单元格包含指向book1.sheet1 ='Y:'temp''[book1.xls]sheet1'!A1
的链接
我的问题是我如何剥离Y:'temp''[book1.xls]sheet1
和只有sheet1!A1
?基本上把book2作为来源。
I have try:
for (int i = 2; i <= numberOfSheets; i++)
{
Worksheet ws = (Worksheet)wbDestination.Sheets[i];
Range r = (Range)ws.UsedRange;
bool success = (bool)r.Replace(
@"'Y:'temp'[book1.xls]sheet1'",
"Sheet1",
XlLookAt.xlWhole,
XlSearchOrder.xlByRows,
false, m, m, m);
}
这不起作用,并得到excel无法找到任何匹配的消息。
尝试逐字字符串:
@"'Y:'temp'[book1.xls]sheet1'"
不是"'Y:'temp'[book1.xls]sheet1'"
在逐字字符串中,所有这些特殊字符都按字面意思解释。
我根据自己的需要解决了这个问题。我希望这能帮助到一些人。我使用了以下代码。
Array links = wbOut.LinkSources(Microsoft.Office.Interop.Excel.XlLink.xlExcelLinks) as Array;
if (links != null)
{
for (int i = 1; i <= links.Length; i++)
{
wbOut.ChangeLink(@"c:'temp'book1.xls", @"c:'temp'book2.xls",
XlLinkType.xlLinkTypeExcelLinks);
}
}