【发布时间】:2018-06-08 21:31:38
【问题描述】:
我传递给 Excel 的 +60 列之一是超链接
private object GetApplicationUrl(int id)
{
var environmentUri = _configurationManager.Default.AppSettings["EnvironmentUri"];
return $"=HYPERLINK(\"{environmentUri}://TradingObject={id}/\", \"{id}\");";
}
这会解析外部协议并在另一个应用程序中打开特定交易。这可行,但最初,超链接公式未被评估,迫使用户首先评估它。我使用对象数组:
protected void SetRange(object[,] range, int rows, int columns, ExcelCell start = null)
{
start = start ?? GetCurrentCell();
ExcelAsyncUtil.QueueAsMacro(
() =>
{
var data = new ExcelReference(start.Row, start.Row + (rows - 1), start.Column, start.Column + (columns - 1));
data.SetValue(range);
});
}
如何强制excel进行评估?
我尝试了几件事,但都没有奏效。例如:
return XlCall.Excel(
XlCall.xlcCalculateNow,
$"HYPERLINK(\"{environmentUri}://TradingObject={id}/\", \"{id}\")");
也许我使用了不正确的标志或遗漏了一些东西。
【问题讨论】:
标签: c# excel hyperlink excel-dna