web-dev-qa-db-fra.com

Comment encoder un lien hypertexte dans un fichier au format CSV?

Lorsque j'essaie de coder un lien d'ancrage HTML dans une cellule de fichier CSV, il devient corrompu et non lisible par Excel.

Existe-t-il une sorte de solution ou de format non HTML pour coder un lien hypertexte dans une cellule de fichier CSV?

35
gep

Un fichier CSV est simplement du texte - c'est au programme de chargement de choisir comment interpréter le texte.

Si Excel se plaint lorsque vous l'alimentez "<a href=\"blah\">Link</a>", "another cell" puis essayez simplement d'avoir l'URL brute et vous pourriez trouver qu'Excel la transformera automatiquement en lien.

Mais en général, Excel ne traite pas le HTML, donc s'attendre à ce qu'il rende le HTML à partir d'un fichier CSV demande trop.

7
Malcolm Box

Lorsque l'automagicalisme ne fonctionne pas et que vous utilisez définitivement Excel, utilisez-le comme contenu de champ.

=HYPERLINK("http://stackoverflow.com")
60
stuartdotnet

Cela a fonctionné pour moi:

  1. Utilisez la fonction =HYPERLINK, Le premier paramètre est le lien Web, le second est la valeur de la cellule.
  2. Mettez " Entre guillemets dans toute la fonction.
  3. Échappez aux guillemets internes dans la fonction avec deux ensembles de guillemets, c'est-à-dire ""

Voici un example.csv Délimité par des virgules à quatre colonnes:

5,6,"=HYPERLINK(""http://www.yahoo.com"";""See Yahoo"")",8

Lorsqu'un tableur (LibreOffice, etc.) ouvre ce fichier .csv, il crée un lien actif pour vous.

13
Steven S.

Ce qui a fonctionné pour moi dans Excel 2003 - affichez sur votre CSV la déclaration:

CELLVALUE="=HYPERLINK("+QM+URLCONTENTS+QM+";"+QM+"URLDISPLAYNAME"+QM+")" 
  • notez le point-virgule ; utilisé dans le lien hypertexte. J'ai trouvé que la virgule ne fonctionnait pas pour moi dans Excel 2003.
  • Selon le script ou la langue que vous utilisez, les guillemets peuvent être traités différemment. La valeur de cellule que vous mettez dans le CSV avant de l'importer dans Excel doit ressembler exactement à ceci: "=HYPERLINK("URLCONTENTS";"URLDISPLAYNAME")"

où:

  • CELLVALUE est la sortie écrite dans le CSV
  • QM est la valeur ASCII de ["] -> (ASCII 34)
  • URLCONTENTS est l'URL complète de la page vers laquelle vous souhaitez créer un lien. -URLDISPLAYNAME est le texte que vous voyez dans la cellule Excel.

Fichier/Propriétés> Résumé de l'onglet> Base de lien hypertexte de champ.

Utilisez comme valeur de champ quelque chose comme http://www.SITENAME.com/SUB_LOCATION/../SUB_LOCATION Qui définit votre point de départ afin que vous puissiez cliquer dessus dans Excel. Bien sûr, vous n'avez pas à utiliser SUB_LOCATIONs si le nom du site lui-même se résout déjà avec succès pour votre chemin relatif.

Ce que je n'ai pas trouvé, c'est comment rendre les liens automatiquement soulignés dans Excel. À partir d'autres conseils trouvés dans cet article :

Formatez manuellement toutes les cellules de liaison comme soulignées et bleu foncé (par exemple), puis la fonctionnalité standard apparaît avec les liens déjà visités se transformant en une autre couleur.