C # SpreadsheetGear: получить вычисленное значение формулы - PullRequest
0 голосов
/ 11 июня 2018

Я использую формулу для создания гиперссылок в 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!")

У кого-нибудь есть решение моей проблемы?

Все, чего я пытаюсь добиться, - это гиперссылка, которая оценивается по этой формуле.

1 Ответ

0 голосов
/ 11 июня 2018

Вы столкнулись с известным ограничением.SpreadsheetGear еще не поддерживает «Таблицы Excel» (Лента Excel> Главная> Стили> Формат в виде таблицы ... ).Эти объекты таблицы удаляются при чтении файла.Это также приводит к удалению любых формул, использующих «структурированные ссылки» (т. Е., В вашем случае, ссылку [@[Customer CID]] в вашей формуле. Такие ссылки будут преобразованы в ошибки #REF!

У нас естьэлемент запроса функции для добавления поддержки таблиц Excel (я работаю для SpreadsheetGear). Вы можете связаться с нами по адресу support@spreadsheetgear.com, чтобы я мог добавить вас в наш список запросов для этой функции, хотя я не могу предоставить какой-либо видграфик, когда это может стать доступным.

Тем временем вам нужно будет избегать использования таких «структурированных ссылок» в ваших формулах и вместо этого использовать обычные ссылки на ячейки или, возможно, определенные имена, если вы предпочитаете.

...