Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在CSV格式的文件中对超链接进行编码?_Csv_Hyperlink_Encode - Fatal编程技术网

如何在CSV格式的文件中对超链接进行编码?

如何在CSV格式的文件中对超链接进行编码?,csv,hyperlink,encode,Csv,Hyperlink,Encode,当我尝试在CSV文件单元中对HTML锚链接进行编码时,它会损坏,Excel无法读取 是否有某种非HTML解决方案或格式可用于在CSV文件单元中对超链接进行编码?CSV文件只是文本,这取决于加载程序选择如何解释文本 如果Excel在您输入它时抱怨,“另一个单元格”,那么尝试使用原始URL,您可能会发现Excel会自动将其转换为链接 但一般来说,Excel不处理HTML,因此期望它从CSV文件中呈现HTML要求太高。如果自动逻辑不起作用,并且您肯定在使用Excel,请将其用作字段内容 =HYPERL

当我尝试在CSV文件单元中对HTML锚链接进行编码时,它会损坏,Excel无法读取


是否有某种非HTML解决方案或格式可用于在CSV文件单元中对超链接进行编码?

CSV文件只是文本,这取决于加载程序选择如何解释文本

如果Excel在您输入它时抱怨
,“另一个单元格”
,那么尝试使用原始URL,您可能会发现Excel会自动将其转换为链接


但一般来说,Excel不处理HTML,因此期望它从CSV文件中呈现HTML要求太高。

如果自动逻辑不起作用,并且您肯定在使用Excel,请将其用作字段内容

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

在Excel 2003中对我有用的内容-将以下语句输出到您的CSV:

CELLVALUE="=HYPERLINK("+QM+URLCONTENTS+QM+";"+QM+"URLDISPLAYNAME"+QM+")" 
  • 注意分号
    在超链接中使用。我发现在Excel2003中逗号对我不起作用
  • 根据您使用的脚本或语言,quotemarks的处理方式可能会有所不同。在将CSV导入Excel之前,您输入到CSV中的cellvalue应该如下所示:
    “=超链接(“URLCONTENTS”;“URLDISPLAYNAME”)”
其中:

  • CELLVALUE
    是写入CSV的输出
  • QM
    [“]
    ->(ASCII 34)的ASCII值
  • URLCONTENTS
    是指向要链接到的页面的完整URL。 -
    URLDISPLAYNAME
    是您在Excel单元格中看到的文本。
也可以使用相对路径并在Excel中设置基准位置

文件/属性>选项卡摘要>字段超链接库

用作字段值,如
http://www.SITENAME.com/SUB_LOCATION/../SUB_LOCATION
设置起点,以便您可以在Excel中单击它。当然,如果站点名称本身已成功解析为您的相对路径,则不必使用子位置

我找不到的是如何使链接在Excel中自动加下划线。从其他提示中可以找到:

手动将所有链接单元格格式化为带下划线和深蓝色(例如),然后显示标准功能,已访问的链接将变为另一种颜色

这对我很有用:

  • 使用
    =HYPERLINK
    函数,第一个参数是web链接,第二个参数是单元格值
  • 在整个函数周围加上引号
  • 使用两组引号转义函数中的内部引号,即,
  • 下面是一个四列逗号分隔的
    示例.csv

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

    当电子表格程序(LibreOffice等)打开此.csv时,它会为您创建一个活动链接。

    谢谢您的回答,但是是否有任何Excel URL格式可以强制它从URL创建链接?如果没有,那么我将尝试发送原始URL这在这里有更多的解释:这和Bob Mulder的答案在OpenOffice中也适用。这甚至适用于google电子表格,请注意,您还可以为链接名称传递第二个参数:
    =HYPERLINK(“http://stackoverflow.com“,”so.com“)
    将CSV导入到LibreOffice 5.1时,链接文本似乎不起作用。对于相关文件路径:
    =HYPERLINK(“./folder/file.ext”,“file.ext”)
    在Excel中打开文件后,是否有办法将文件保存回CSV,而不让Excel抱怨它包含一些非CSV功能并将其删除?(它将去掉“=HYPERLINK”部分,只留下地址,这意味着下次打开文件时,超链接功能将消失)公式中是否使用逗号或分号作为参数分隔符取决于系统设置。在Windows“控制面板”中,可以将列表分隔符设置为逗号或分号,这说明Excel在CSV文件中作为单元格分隔符和在公式中作为参数分隔符所需的内容。我在Excel 2003中使用两种列表分隔符设置对此进行了测试,发现在公式中,如果希望列表分隔符在Excel中正确显示,则需要使用列表分隔符作为参数分隔符。如果在python中使用“csv”:以下方法对我有效:
    code old\u row['column\u name']=“=HYPERLINK(\”http://www.yahoo.com\“+”、“+”\“+”友好名称“+”\“+””
    我正在Excel 2010中阅读它,以及“+”代替“;“。使用逗号代替;如“=超链接(““Yahoo”)”我刚刚在Mac上用最新的Excel试用了这个方法。“分隔符有效,但”;“没有。另外,链接没有突出显示或下划线,因此用户不会知道它是可点击的。有什么方法吗?谢谢。”。