用于在 Excel 工作表中添加超链接的 C# 代码
本文关键字:超链接 代码 添加 Excel 工作 用于 | 更新日期: 2023-09-27 17:56:10
嗨,我有一个包含多张工作表的 excel 文件。其中一个工作表将包含其他工作表的超链接。
在使用以下代码时,我已成功添加链接,但是当我单击链接时,它会给出错误**"Refrence not valid"**
代码片段:
private void AddHyperLink(Workbook xlWorkBook,int nfaultCount)
{
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
DateTime now = DateTime.Now;
xlWorkSheet.Name = "Summary"; //name of the sheet containing hyperlink
xlWorkSheet.Select(Type.Missing); //code to select the summary sheet
for (int i = 1; i <= nfaultCount; i++)
{
int x = i + 9;
string str = "Fault Code "+i + " of " + nfaultCount;
string strRange1 = "A" + x;
string strRange2 = "A" + x;
string strRange = strRange1 + ":" + strRange2; //location of the link
var Range = xlWorkSheet.get_Range(strRange);
// strRange1 = "!" + strRange1;
string strp="#" + i + " of " +nfaultCount + strRange1;
i +" of " nfaultCount==> name of the target worksheet
Range.Cells.Hyperlinks.Add(Range,strp, Type.Missing, "Fault Code Link", str);
}
xlWorkSheet.Columns["A:B"].AutoFit();
}
我已使用以下链接作为我的参考http://www.experts-exchange.com/Programming/Languages/.NET/Q_27912390.html
但它的给出错误引用是无效的。
错误消息指出您的超链接地址无效。
尝试将其生成为:
string strp="#'" + i + " of " +nfaultCount + "'!" + strRange1;
// Sample result: "#'4 of 5'!A3
而不是
string strp="#" + i + " of " +nfaultCount + strRange1;
// Sample result: #4 of 5A3
以上假设目标工作表名称为"4/5"。
请注意,工作表名称和区域名称之间需要 ! 字符。如果工作表名称包含一个或多个空格,则还需要将工作表名称括在单引号中。