excel超链接中引用无效错误

时间:2013-09-26 19:54:33

标签: c# excel office-interop excel-interop

我使用下面的代码将超链接添加到给定的单元格("A1"这里):

Workbook workbook = _excelApp.Workbooks.Open("C:\\temp\\test1.xlsx",
        Type.Missing, Type.Missing, Type.Missing, Type.Missing,
        Type.Missing, Type.Missing, Type.Missing, Type.Missing,
        Type.Missing, Type.Missing, Type.Missing, Type.Missing,
        Type.Missing, Type.Missing);


Worksheet worksheet = (Worksheet)workbook.Worksheets[1];
Range rangeToHoldHyperlink = worksheet.get_Range("A1", Type.Missing);
string hyperlinkTargetAddress = "www.bing.com";

Range excelRange = worksheet.UsedRange;
object[,] valueArray = (object[,])excelRange.get_Value(
                XlRangeValueDataType.xlRangeValueDefault);


 worksheet.Hyperlinks.Add(
                rangeToHoldHyperlink,
                hyperlinkTargetAddress,
                string.Empty,
                string.Empty,
                valueArray[1, 1].ToString());

它添加了超链接。但是,在点击它时,它说:
 Reference not valid
将鼠标悬停在单元格文本上时,它会将超链接显示为:
excel_file_path\hyperlinkTargetAddress

为什么这样做?
如何克服这个问题?

1 个答案:

答案 0 :(得分:2)

您可以添加不同类型的超链接。默认情况下,Excel假定您要链接硬盘驱动器中的文件(在电子表格的文件夹中)。要告诉Excel您想要一个网站,您必须编写完整的地址(起始http://位)。

string hyperlinkTargetAddress = "http://www.bing.com";