2011-09-27 21 views
26

Cuando intento codificar un enlace de ancla HTML en una celda de archivo CSV, se corrompe y Excel no lo puede leer.Cómo codificar un hipervínculo en un archivo con formato CSV?

¿Existe algún tipo de solución o formato no HTML para codificar un hipervínculo en una celda de archivo CSV?

+0

Esto se explica un poco más aquí: http://stackoverflow.com/questions/6563091/can-excel-interpret-the-urls-in-my-csv-as-hyperlinks – Smalcat

+0

http://stackoverflow.com/ questions/6563091/can-excel-interpret-the-urls-in-my-csv-as-hyperlinks – Smalcat

Respuesta

4

Un archivo CSV es simplemente texto: le corresponde al programa de carga la forma en que elige interpretar el texto.

Si Excel se queja cuando lo alimenta "<a href=\"blah\">Link</a>", "another cell" intente solo con tener la URL sin procesar y puede encontrar que Excel lo convertirá automágicamente en un enlace.

Pero, en general, Excel no procesa HTML, por lo que esperar que rinda HTML desde un archivo CSV es pedir demasiado.

+0

Gracias por su respuesta, pero ¿hay algún tipo de formato de URL de Excel para forzarlo a hacer un enlace desde la URL? Si no, entonces intentaré simplemente enviar la URL sin procesar – gep

47

Para cuando el automagicalismo no funciona, y definitivamente está usando Excel, use esto como el contenido del campo.

=HYPERLINK("http://stackoverflow.com") 
+1

También funciona en LibreOffice Calc. – jevon

+1

esto, y la respuesta de Bob Mulder ambos funcionan en OpenOffice también. –

+7

esto incluso funciona con las hojas de cálculo de google, tenga en cuenta que también puede pasar un segundo parámetro para el nombre del enlace: '= HYPERLINK (" http://stackoverflow.com "," so.com ")' – linqu

10

Lo que funcionó para mí en Excel 2003 - salida a su CSV la declaración:

CELLVALUE="=HYPERLINK("+QM+URLCONTENTS+QM+";"+QM+"URLDISPLAYNAME"+QM+")" 
  • nota el uso coma ; en el hipervínculo. Encontré que la coma no funcionaba para mí en Excel 2003.
  • Dependiendo de la secuencia de comandos o el idioma que utilice, las comillas podrían manejarse de manera diferente. El CellValue que puso en el CSV antes de importarlo en Excel debe ser exactamente así: "=HYPERLINK("URLCONTENTS";"URLDISPLAYNAME")"

donde:

  • CELLVALUE es la salida escrita al CSV
  • QM se el valor ASCII de ["] -> (ASCII 34)
  • URLCONTENTS es la URL completa de la página que desea vincular. - URLDISPLAYNAME es el texto que ve en la celda de Excel.
También puede usar rutas de acceso relativas y establecer una ubicación base en Excel.

Archivo/Propiedades> Resumen de pestañas> Base de hipervínculo de campo.

Use como valor de campo algo así como http://www.SITENAME.com/SUB_LOCATION/../SUB_LOCATION que establece su punto de partida para que pueda hacer clic en Excel. Por supuesto, no tiene que usar SUB_LOCATION si el nombre de sitio ya se resolverá correctamente para su ruta relativa.

Lo que no pude encontrar es cómo hacer que los enlaces se subrayaran automáticamente en Excel. De otros consejos encontraron in this article:

formato manualmente todos linkcells como subrayado y azul oscuro (por ejemplo) y luego la funcionalidad estándar aparece con enlaces ya visitados se conviertan en otro color.

+0

Si se utiliza una coma o un punto y coma como el separador de argumentos en la fórmula depende de la configuración de tu sistema. En el Panel de control de Windows, puede configurar el separador de la lista como coma o punto y coma, y ​​eso dicta lo que Excel espera como el separador de celdas en los archivos CSV y como el separador de argumentos en las fórmulas. Probé esto en Excel 2003 con ambas configuraciones de separador de listas y encontré que, en la fórmula, necesita usar el separador de lista como separador de argumentos si desea que se muestre correctamente en Excel. –

+0

Si usa "csv" en python: lo siguiente funcionó para mí: 'código old_row ['column_name'] =" = HYPERLINK (\ "http: //www.yahoo.com \" + "," + "\" " + "friendly_name" + "\" "+") "' Lo estoy leyendo en Excel 2010, y "," funciona en lugar de ";". – user2498411

7

Esto funcionó para mí: 1. Utilice el = función HYPERLINK, el primer parámetro es el enlace de Internet, el segundo es el valor de la celda. 2. Put ", cita alrededor de toda la función 3. escapar de las cotizaciones internas dentro de la función con dos juegos de citas, es decir, ''

Aquí está una de cuatro columnas delimitado por comas EXAMPLE.csv:

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

Cuando un programa de hoja de cálculo (LibreOffice, etc.) abre este .csv que crea un vínculo activo para usted.

Espero que esto ayude

Cuestiones relacionadas