Вопрос по excel, csv, hyperlink – Затем в ячейке отображается «ILEX», а «http: \ www.ilexuk.com» - это гиперссылка для ячейки.

60

ли Excel интерпретировать URL-адреса в моем CSV как гиперссылки? Если так, то как?

Вы должны принять ответ от Дейва P Hemans
Этот ответ также полезен:stackoverflow.com/questions/7572268/... Jason Sundram

Ваш Ответ

7   ответов
5

но невозможно автоматически связать их. Файлы CSV - это просто текстовые файлы - все, что открывается и читает их, отвечает за то, что вы можете щелкнуть ссылку

Что касается того, как Excel обрабатывает файлы CSV - все, что находится между запятыми, интерпретируется так, как будто оно уже введено в ячейку. Таким образом, файл CSV, содержащий="http://google.com",=A1 будет отображаться какhttp://google.com,http://google.com в Excel. Однако важно отметить, что гиперссылки в Excel являются метаданными, а не результатом чего-либо в фактической ячейке (т. Е. Ячейка с гиперссылкой в ​​Google по-прежнему содержитhttp://google.com не<a>http://google.com</a> или что-нибудь в этом роде.)

Поскольку это так, и все метаданные теряются при преобразовании в CSV, невозможно сказать Excel, что вы хотите, чтобы что-то было гиперссылкой, просто изменив значение ячейки. Обычно Excel интерпретирует ваш ввод, когда вы нажимаете «Enter», и затем связывает URL-адреса, но поскольку данные CSV не вводятся, а уже существуют, этого не происходит.

Лучше всего написать какой-нибудь аддон или макрос для запуска, когда вы открываете CSV, который анализирует каждую ячейку и делает гиперссылки на них, если они соответствуют формату URL.

это не ответ, см. ниже. Вы можете использовать = HYPERLINK ("URL") Allie
Я имею в виду, если файл читается с использованием Microsoft Excel. Lior
Это не правильно, вы можете сделать"=HYPERLINK(""http://www.google.com"")" как объяснено ниже, вам просто нужно иметь все эти цитаты. kilgoretrout
Ах, это важное различие. Я не думаю, что это возможно, нет. dlras2
0

Используйте этот формат:

=HYPERLINK(""<URL>"";""<LABEL>"")

например.:

=HYPERLINK(""http://stackoverflow.com"";""I love stackoverflow!"")

Постскриптум Этот же формат работает и в LibreOffice Calc.

14

иведен пример созданного CSV-файла, в котором перечислены ошибки и ссылки для просмотра документации о сбое метода. (Немного эзотерично, но это то, над чем я работаю)

"Details","Failing Method (click to view)"
"Method failed","=HYPERLINK(""http://some_url_with_documentation"",""Method_name"")"
Аргументы HYPERLINK () должны быть разделены точкой с запятой, а не запятой, по крайней мере, в моей (немецкой) версии Excel 2007. cmarqu
@cmarqu Я думаю, это зависит от разделителя списка, который использует ваша система. Немецкая локаль по умолчанию использует; в качестве разделителя списка, и его следует использовать в качестве разделителя в файлах CSV (иронично, если использовать аббревиатуру «Comma-Separated Values») и в качестве разделителя аргументов в формулах Excel. Для других языков, таких как американский английский, по умолчанию используется запятая. Таким образом, в основном вы должны использовать тот же разделитель, который вы используете для разделения ячеек в файле CSV. Это то, что я нашел, протестировав запятую и точку с запятой в нескольких версиях Excel с разными настройками. MB.
7

чтобы URL не распределялся по нескольким ячейкам.

Просто замените запятые на% 2c

http://www.xyz.com/file,comma.pdf

становится

= Гиперссылка ( "http://www.xyz.com/file%2ccomma.pdf")

75

и в Excel появится кликабельная ссылка. Используйте этот формат в файле CSV:

=HYPERLINK("URL")

Таким образом, CSV будет выглядеть так:

1,23.4,=HYPERLINK("http://www.google.com")

Тем не менее, я пытаюсь заставить некоторые ссылки с запятыми в них работать должным образом, и не похоже, что есть способ избежать их, и в то же время Excel делает ссылку активной.

Кто-нибудь знает как?

Вы можете заключить любое CSV-поле в «кавычки», а затем добавить его в виде запятых и кавычек (используя «»):field1, "field2", "field3, с" "запятыми" "" должны интерпретироваться действительными читателями CSV как три поля. Хорошая идея использовать существующую библиотеку для чтения / записи CSV, чтобы справиться с этими крайними случаями. jevon
Привет .. Спасибо за это, это работает для CSV, но мое единственное беспокойство - это не изменение цвета гиперссылки. По умолчанию гиперссылка должна быть синего цвета или подчеркнута. Может кто-нибудь помочь мне здесь, пожалуйста. undefined
Похоже, это работает и для LibreOffice 5.1.6. HarlemSquirrel
Предложенные решения вместе с дополнениями Джима и Хеманса работают хорошо. Однако формула для разных языков различна (т. Е. = LIEN_HYPERTEXTE ("...") для французского. В основном это решение работает только в английском Excel (или на любом другом языке) Smalcat
0

что, поскольку по своей природе .CSV разделяется запятыми, любые запятые в текстовом файле интерпретируются как разделители. Это сработало для меня, используя символы табуляции в качестве разделителей, сохранив их как файл .TXT, чтобы при открытии в EXCEL вы выбирали символ TAB, а не «,».

В текстовом файле ...

## убедитесь, что файл разделен табуляцией. Элемент 1 Имя файла data.txt
Item 2 Col 2 = HYPERLINK ("http: \ www.ilexuk.com", "ILEX")

Затем в ячейке отображается «ILEX», а «http: \ www.ilexuk.com» - это гиперссылка для ячейки.

8

но все еще требовалось время, чтобы разобраться в Excel 2014.

Результат в CSV должен выглядеть следующим образом

"=HYPERLINK(""http://www.Google.com"",""Google"")"

Примечание: если вы пытаетесь установить это с сервера MSSQL, то

'"=HYPERLINK(""http://www.' + baseurl + '.com"",""' + baseurl + '"")"' AS url

Похожие вопросы