web-dev-qa-db-fra.com

Excel peut-il interpréter les URL de mon fichier CSV comme des hyperliens?

Excel peut-il interpréter les URL de mon fichier CSV comme des hyperliens? Si c'est le cas, comment?

60
Lior

Vous pouvez réellement le faire et demander à Excel d’afficher un lien cliquable. Utilisez ce format dans le fichier CSV:

=HYPERLINK("URL")

Donc, le CSV ressemblerait à ceci:

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

Cependant, j'essaie d'obtenir des liens avec des virgules pour qu'ils fonctionnent correctement et il ne semble pas y avoir de moyen de les échapper mais Excel doit toujours rendre le lien cliquable.

Est-ce que quelqu'un sait comment?

74
Dave

En intégrant la fonction de lien hypertexte, vous devez regarder les citations. Voici un exemple de fichier CSV créé qui répertorie une erreur et un lien pour afficher la documentation sur la méthode qui a échoué. (Peu ésotérique mais c'est ce sur quoi je travaille)

"Details","Failing Method (click to view)"
"Method failed","=HYPERLINK(""http://some_url_with_documentation"",""Method_name"")"
14
P Hemans

J'ai lu toutes ces réponses et quelques autres, mais il a fallu encore un certain temps pour que cela fonctionne dans Excel 2014.

Le résultat dans le CSV devrait ressembler à ceci

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

Remarque: Si vous essayez de définir ceci à partir du serveur MSSQL, alors 

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

vous pouvez URL Encoder vos virgules à l'intérieur de l'URL afin que celle-ci ne soit pas divisée en plusieurs cellules.

Il suffit de remplacer les virgules par% 2c 

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

devient

= hyperlien ("http://www.xyz.com/file%2ccomma.pdf")

7
Jim

Oui, mais il n'est pas possible de les lier automatiquement. Les fichiers CSV ne sont que des fichiers texte - tout ce qui s'ouvre et les lit est responsable de vous permettre de cliquer sur le lien.


En ce qui concerne la manière dont Excel semble gérer les fichiers CSV - tout ce qui est entre virgules est interprété comme s’il avait déjà été saisi dans la cellule. Par conséquent, le fichier CSV contenant ="http://google.com",=A1 s'affichera sous la forme http://google.com,http://google.com dans Excel. Toutefois, il est important de noter que les liens hypertexte dans Excel sont des métadonnées et non le résultat de la cellule elle-même (par exemple, une cellule contenant un lien hypertexte vers Google contient toujours http://google.com pas <a>http://google.com</a> ou quoi que ce soit de ce genre.)

Comme c'est le cas et que toutes les métadonnées sont perdues lors de la conversion en CSV, il est impossible de dire à Excel que vous souhaitez que quelque chose soit hyperlié en modifiant simplement la valeur de la cellule. Normalement, Excel interprète votre entrée lorsque vous appuyez sur 'Entrée' et lie ensuite les URL, mais comme les données CSV ne sont pas entrées, mais qu'elles existent déjà, cela ne se produit pas.

Votre meilleur choix est d'écrire une sorte d'addon ou de macro à exécuter lorsque vous ouvrez un fichier CSV qui analyse toutes les cellules et les relie par hyperlien si elles correspondent à un format d'URL.

5
dlras2

Le problème ici était que, comme un fichier .CSV est, par nature, séparé par des virgules, toutes les virgules du fichier texte sont interprétées comme des séparateurs. Cela a fonctionné pour moi en utilisant des caractères de tabulation comme séparateurs, en les enregistrant sous un fichier .TXT afin que, lors de l'ouverture dans Excel, vous choisissiez le caractère de tabulation plutôt que ','.

Dans le fichier texte…

## s'assure que le fichier est séparé par une tabulation Elément 1 Un nom de fichier data.txt
Article 2 Col 2 = HYPERLINK ("http:\www.ilexuk.com", "ILEX")

"ILEX" est ensuite affiché dans la cellule et "http:\www.ilexuk.com" est le lien hypertexte correspondant à la cellule. 

0
Dick Edwards

Utilisez ce format:

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

par exemple.:

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

P.S. Le même format fonctionne également dans LibreOffice Calc.

"= HYPERLINK (\"\"" + " http://www.mywebsite.com " + "\"\")" utilisez ce format avant d'écrire au format CSV.

0
Amit