Как обращаться с функцией HYPERLINK с помощью POI SS?

Я пытаюсь использовать POI SS для преобразования таблицы Excel в CSV. К сожалению, я не могу нормально работать с функциями HYPERLINK:

if (cell.getCellType() == Cell.CELL_TYPE_FORMULA) { System.out.println("formula cell: " + cell.toString()); switch (cell.getCachedFormulaResultType()) { case Cell.CELL_TYPE_BOOLEAN: return Boolean.toString(cell.getBooleanCellValue()); case Cell.CELL_TYPE_NUMERIC: return NUMERIC_FORMAT.format(cell.getNumericCellValue()); case Cell.CELL_TYPE_BLANK: return ""; default: // Special case handling for HYPERLINK cells if (cell.getHyperlink() != null) { System.out.println("found hyperlink: " + cell.getHyperlink().getAddress()); return cell.getHyperlink().getAddress(); } System.out.println("something else: " + cell.toString()); return cell.toString(); } } 

К сожалению, даже если он интерпретирует эту ячейку как ячейку FORMULA, cell.getHyperlink () возвращает null, поэтому cell.toString () просто возвращает полную формулу:

= HYPERLINK ( "HTTP: …", "…")

Как я могу заставить это работать правильно?

Формула = HYPERLINK («http: // something /», «label») – это не то же самое, что нормальная гиперссылка в Excel.

Если вы вызываете get.getHyperlink (), тогда он вернет гиперссылку (если она установлена) для ячейки. Это гиперссылка, которую вы получаете от чего-то вроде Insert -> Hyperlink

Для случая формулы просто верните строку формулы, и если она представляет собой формулу гиперссылки, возьмите с нее немного интереса.

(Несмотря на то, что они могут выглядеть очень похожими в Excel, в формате файлов они очень разные, что вы видите)

  • Excel удаляет более двух повторяющихся записей из столбца
  • Как заменить один символ / символ смежным словом / строкой?
  • Создание небольшого файла изображения png, показывающего табличные данные из Excel или другой таблицы
  • Rails - адаптер электронных таблиц
  • Сопоставьте два столбца с аналогичными данными
  • Открытая таблица OpenDocument повреждена в Microsoft Excel
  • Недопустимая подпись OLE2 при попытке открыть файл XLS
  • Найти последнюю ячейку строки в таблицах (CALC, excel) с формулой, основанной на последней записи (текст / номер)
  • Функция MATCH () не может найти часы (GOOGLE SHEETS)
  • Получить строку между частями
  • excel визуальная базовая кнопка командной кнопки
  • Давайте будем гением компьютера.