Excel可以将CSV中的URL解释为超链接吗?


Answers:


88

您实际上可以执行此操作,并让Excel显示可单击的链接。在CSV文件中使用以下格式:

=HYPERLINK("URL")

因此,CSV看起来像:

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

但是,我正在尝试使其中带有逗号的某些链接正常工作,并且似乎没有一种方法可以使它们转义并且仍然让Excel使该链接可单击。

有人知道吗?


4
拟议的解决方案以及Jim和Hemans的新增产品都可以很好地工作。但是,不同语言的公式也不同(即法语的= LIEN_HYPERTEXTE(“ ...”))。基本上,该解决方案仅适用于英语Excel(或任何其他单一语言)
Smalcat 2012年

4
您可以将任何CSV字段都用“引号”引起来,然后可以添加逗号和引号(使用“”): field1,"field2","field3,with ""commas"""有效的CSV阅读器应将其解释为三个字段。使用现有的CSV读取器/写入器库来处理这些极端情况是个好主意。
jevon 2013年

这似乎也适用于LibreOffice 5.1.6。
HarlemSquirrel

1
嗨..谢谢,它适用于csv,但是我唯一关心的是它没有改变超链接的颜色。默认情况下,超链接应为蓝色或带下划线。任何人都可以在这里帮助我。
不确定

16

嵌入超链接功能后,您需要注意报价。以下是创建的CSV文件的示例,其中列出了错误以及用于查看有关失败方法的文档的链接。(有点深奥,但这就是我正在努力的方向)

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

HYPERLINK()的参数必须用分号隔开,而不是逗号,至少在Excel的我(德国)2007年版
cmarqu

2
@cmarqu我认为这取决于系统使用的列表分隔符。缺省情况下,德语语言环境使用;作为列表分隔符,并且必须用作CSV文件中的分隔符(在给定“逗号分隔值”缩写的情况下为ironic),并在Excel公式中用作参数分隔符。对于其他语言环境(例如美国英语),默认为逗号。因此,基本上,您必须使用与用于分隔CSV文件中的单元格相同的分隔符。这就是我通过在具有不同设置的Excel版本中测试逗号和分号而发现的。
MB。

12

我阅读了所有这些答案以及其他一些答案,但仍需要一段时间才能在Excel 2014中解决。

CSV中的结果应如下所示

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

注意:如果您尝试从MSSQL服务器进行设置,则

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

7

您可以在URL内对逗号进行编码,以使URL不会在多个单元格中分开。

只需用%2c替换逗号

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

变成

= hyperlink(“ http://www.xyz.com/file%2ccomma.pdf”)


5

是的,但是无法自动链接它们。CSV文件只是文本文件-任何打开并阅读它们的行为都是允许您单击链接的原因。


关于Excel似乎如何处理CSV文件-逗号之间的所有内容都被解释为好像已经将其键入到单元格中一样。因此,包含的CSV文件="http://google.com",=A1http://google.com,http://google.com在Excel中显示。需要特别注意的是,Excel中的超链接是元数据,而不是实际单元格中任何内容的结果(即,到Google的超链接单元格仍然http://google.com不包含<a>http://google.com</a>或此类内容。)

既然是这种情况,并且转换为CSV时所有元数据都会丢失,因此无法告诉Excel您希望仅通过更改单元格值来使某些内容超链接。通常,当您按“ Enter”键时,Excel会解释您的输入,然后链接URL,但是由于未输入CSV数据,而是已经存在CSV数据,因此不会发生这种情况。

最好的选择是编写某种插件或宏,以在打开CSV时运行,该CSV解析每个单元格并在它们与URL格式匹配时使它们超链接。


1
啊,那是一个重要的区别。我认为不可能,不。
dlras2 2011年

2
这不是答案,请参阅下文。您可以使用= HYPERLINK(“ URL”)
艾莉

1
这是不正确的,您可以"=HYPERLINK(""http://www.google.com"")"按照以下说明进行操作,只需要提供所有这些引号即可。
kilgoretrout


-1

使用以下格式:

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

例如:

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

PS在LibreOffice Calc中也可以使用相同的格式。


-1

对我来说,这里的问题是,由于.CSV本质上是逗号分隔的,因此文本文件中的任何逗号都被解释为分隔符。它通过使用制表符作为分隔符,将其另存为.TXT文件,对我有用,以便在EXCEL中打开时选择TAB字符而不是','。

在文本文件中……

##确保文件由TAB分隔。项目1 A文件名data.txt
项目2 Col 2 = HYPERLINK(“ http:\ www.ilexuk.com”,“ ILEX”)

然后在单元格中显示“ ILEX”,而“ http:\ www.ilexuk.com”是该单元格的超链接。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.