Запретить щелчок URL в Excel в файле, созданном JXL API - PullRequest
0 голосов
/ 11 декабря 2018

Я использую JExcelApi (JXL, версия 2.6.12) для создания файла Excel.

Если ячейка имеет URL-адрес в качестве значения, то эта ячейка отображается в Excel * в виде простого текста, но еслипользователь дважды щелкает по нему (таким образом, входит в режим редактирования), а затем сразу же щелкает где-то еще (за пределами ячейки), Excel превратит ячейку в интерактивный URL-адрес (синий и подчеркнутый, при щелчке он открывается в системном браузере, безвопросы типа «Вы уверены, что хотите открыть эту ссылку?»).

Как избежать этого?(Я хочу, чтобы URL оставался в виде обычного текста, а не для щелчка мышью)

Ячейка создается следующим образом: new Label(3, 2, "http://www.example.org");

Это происходит, даже если я принудительно отформатирую текстовый формат, например: new Label(3, 2, "http://www.example.org", new WritableCellFormat(NumberFormats.TEXT))

(это помогает предотвратить интерпретацию записей, начинающихся с '=', например =C3)

При вводе в Excel вручную это можно сделать, введя апостроф какпервый персонажНо в коде, если я сделаю new Label(3, 2, "'http://www.example.org");, апостроф будет виден при открытии файла в Excel.

* Я использую Excel 2013 в Windows

Ответы [ 2 ]

0 голосов
/ 01 апреля 2019

Используйте следующую строку в качестве значения ячейки

="http://www.example.org"

Вам может потребоваться экранировать двойные кавычки с new Label(3, 2, "=\"http://www.example.org\""); или подобным.Просто убедитесь, что строка является тем, что отображается в результирующей ячейке Excel.У меня нет JExcelApi для проверки этого.

0 голосов
/ 01 апреля 2019

Вы можете использовать

new Label(3, 2, cstr("http://www.example.org"));
...