Проблемы с созданием гиперссылок с использованием Apache POI 3.8-beta4 в книге SXSSF - PullRequest
0 голосов
/ 11 июля 2011

Похоже, что ячейки гиперссылки создаются неправильно при использовании реализации POI SXSSF.Я взял точную копию примера кода из руководства HOW-TO для создания гиперссылок и изменил рабочую книгу на SXSSF вместо XSSF, и гиперссылки больше не работают.

Кто-нибудь еще видел эту проблему илиобнаружил обходной путь?

Спасибо,

Марк.

Ответы [ 2 ]

0 голосов
/ 10 марта 2015

Я знаю, что это старый пост, но он неоднократно появлялся, когда я проводил поиск по той же теме.

Я использую POI 3.9X, и он работает с гиперссылками, однако есть большой недостаток, если вы используете действительно большое количество строк с гиперссылкой.

  1. естьограничение в 65K гиперссылок на лист в Excel
  2. Если вы решите разбить вашу книгу на листы после отметки 65K, то общее количество объектов гиперссылок останется в памяти (скажем, если использовать 1 на строку), что может привести когромный скачок, если итерация выполняется быстро и может привести к ошибкам нехватки памяти, если не хватает кучи ... под огромным я подразумеваю гигабайты для 200 000 строк.у него нет ограничений на создание объекта гиперссылки, который остается в памяти при использовании SXSSF.Это предполагает работу с URL, а не с отношением.Для тех, которые видят «0» на основе предыдущего примера, обязательно добавьте «=» перед функцией Hyperlink Excel
0 голосов
/ 11 июля 2011

SXSSF является довольно новым и в настоящее время нацелен только на определенные задачи. Если вы можете, я бы посоветовал вам посмотреть, как это делает XSSF, и отправить патч!

В то же время, вы, вероятно, можете обойтись без использования функции HYPERLINK . Задайте для своей ячейки ячейку формулы, а для Формула - что-то вроде HYPERLINK('http://stackoverflow.com/','Stack Overflow'), и она будет отображаться в виде ссылки в Excel

.

Обновление: Добавлена ​​поддержка в SXSSF для поддержки гиперссылок в r1145629

...