C# SpreadsheetGear:获取公式的计算值
C# SpreadsheetGear : Fetch calculated value of a formula
我正在使用公式在 excel 中创建超链接。
Excel 公式:=HYPERLINK(CONCATENATE("https://loremipsum.com/#/Advert/",[@[Customer CID]],"/dolorsit"), "View")
这个公式在 excel 中按预期进行评估,但是当我通过电子表格设备获取它时。结果是:-
"=HYPERLINK(CONCATENATE(\"https://loremipsum.com/#/Advert/\",#REF!,\"/dolorsit\"), \"View \")"
我真正想要获取的是超链接。
https://loremipsum.com/#/Advert/{ColumnValue}/dolorsit
我试过 worksheet.Cells[i, j].Hyperlinks;
但它给出了空引用错误,因为范围有公式。如果我这样做 worksheet.Cells[i, j].Formula
它不会给我列参考。 (仅提供“#REF!”文本)
有人能解决我的问题吗?
我想要实现的只是从该公式中评估的超链接。
您 运行 变成了 known limitation。 SpreadsheetGear 尚不支持 "Excel Tables"(Excel 的功能区 > 主页 > 样式 > 格式为 Table...)。这些 Table 对象在读取文件时被删除。这也会删除任何使用 "structured references" 的公式(即,在您的情况下,公式中的 [@[Customer CID]]
引用。此类引用将转换为 #REF!错误。
我们确实有一个功能请求项来添加对 Excel Tables 的支持(我为 SpreadsheetGear 工作)。欢迎您通过 support@spreadsheetgear.com 与我们联系,以便我可以将您添加到我们的此功能请求列表中,但我无法提供任何时间线来说明此功能何时可用。
同时,您需要避免在公式中使用此类 "structured references",而是使用普通的单元格引用,或者如果您愿意,也可以定义名称。
我正在使用公式在 excel 中创建超链接。
Excel 公式:=HYPERLINK(CONCATENATE("https://loremipsum.com/#/Advert/",[@[Customer CID]],"/dolorsit"), "View")
这个公式在 excel 中按预期进行评估,但是当我通过电子表格设备获取它时。结果是:-
"=HYPERLINK(CONCATENATE(\"https://loremipsum.com/#/Advert/\",#REF!,\"/dolorsit\"), \"View \")"
我真正想要获取的是超链接。
https://loremipsum.com/#/Advert/{ColumnValue}/dolorsit
我试过 worksheet.Cells[i, j].Hyperlinks;
但它给出了空引用错误,因为范围有公式。如果我这样做 worksheet.Cells[i, j].Formula
它不会给我列参考。 (仅提供“#REF!”文本)
有人能解决我的问题吗?
我想要实现的只是从该公式中评估的超链接。
您 运行 变成了 known limitation。 SpreadsheetGear 尚不支持 "Excel Tables"(Excel 的功能区 > 主页 > 样式 > 格式为 Table...)。这些 Table 对象在读取文件时被删除。这也会删除任何使用 "structured references" 的公式(即,在您的情况下,公式中的 [@[Customer CID]]
引用。此类引用将转换为 #REF!错误。
我们确实有一个功能请求项来添加对 Excel Tables 的支持(我为 SpreadsheetGear 工作)。欢迎您通过 support@spreadsheetgear.com 与我们联系,以便我可以将您添加到我们的此功能请求列表中,但我无法提供任何时间线来说明此功能何时可用。
同时,您需要避免在公式中使用此类 "structured references",而是使用普通的单元格引用,或者如果您愿意,也可以定义名称。