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

Lio*_*ior 65 csv excel hyperlink

Excel可以将我的CSV中的URL解释为超链接吗?如果是这样,怎么样?

Dav*_*ave 81

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

=HYPERLINK("URL")
Run Code Online (Sandbox Code Playgroud)

所以CSV看起来像:

1,23.4,=HYPERLINK("http://www.google.com")
Run Code Online (Sandbox Code Playgroud)

但是,我正在尝试在其中使用逗号进行一些链接以正常工作,并且看起来没有办法逃脱它们并仍然使Excel使链接可单击.

有谁知道怎么样?

  • 拟议的解决方案以及Jim和Hemans的新增产品都可以很好地工作。但是,对于不同的语言,该公式也有所不同(例如,法语的= LIEN_HYPERTEXTE(“ ...”))。基本上,该解决方案仅在英语Excel(或任何其他单一语言)中有效 (2认同)
  • 你可以用"引号"包装任何CSV字段,然后你可以添加逗号和引号(使用""):`field1,"field2","field3,"""逗号"""`应由有效的CSV读者解释作为三个领域.使用现有的CSV读取器/写入器库来处理这些边缘情况是个好主意. (2认同)

P H*_*ans 15

通过嵌入超链接功能,您需要查看引号.下面是创建的CSV文件示例,其中列出了错误和链接,以查看失败方法的文档.(有点深奥但这就是我正在做的事情)

"Details","Failing Method (click to view)"
"Method failed","=HYPERLINK(""http://some_url_with_documentation"",""Method_name"")"
Run Code Online (Sandbox Code Playgroud)

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

小智 9

我阅读了所有这些答案和其他一些答案,但它仍然需要一段时间才能在Excel 2014中完成.

csv中的结果应如下所示

"=HYPERLINK(""http://www.Google.com"",""Google"")"
Run Code Online (Sandbox Code Playgroud)

注意:如果您尝试从MSSQL服务器设置此项,那么

'"=HYPERLINK(""http://www.' + baseurl + '.com"",""' + baseurl + '"")"' AS url
Run Code Online (Sandbox Code Playgroud)


小智 7

您可以在URL中对您的逗号进行编码,以便不在多个单元格中拆分URL.

只需用%2c替换逗号即可

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

=超级链接( "http://www.xyz.com/file%2ccomma.pdf")


dlr*_*as2 5

是的,但是无法自动链接它们.CSV文件只是文本文件 - 无论打开还是读取它们都有责任让您单击链接.


至于Excel如何处理CSV文件 - 逗号之间的所有内容都被解释为好像它已经被输入到单元格中.因此,包含的CSV文件="http://google.com",=A1将显示为http://google.com,http://google.comExcel.然而,重要的是要注意,Excel中的超链接是元数据,而不是实际单元格中任何内容的结果(即,Google的超链接单元格仍然http://google.com不包含<a>http://google.com</a>任何类型的内容.)

既然如此,并且转换为CSV时所有元数据都会丢失,那么仅仅通过更改单元格值就无法告诉Excel您希望将某些内容进行超链接.通常情况下,Excel会在您点击"Enter"时解释您的输入,然后链接URL,但由于CSV数据没有输入,而是已经存在,因此不会发生这种情况.

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

  • 啊,这是一个重要的区别。我认为这不可能,不。 (2认同)
  • 这不是答案,见下文.你可以使用= HYPERLINK("URL") (2认同)