用于在 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

但它的给出错误引用是无效的。

用于在 Excel 工作表中添加超链接的 C# 代码

错误消息指出您的超链接地址无效。

尝试将其生成为:

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"。

请注意,工作表名称和区域名称之间需要 ! 字符。如果工作表名称包含一个或多个空格,则还需要将工作表名称括在单引号中。