6

我有一个有趣的困境,想知道是否有人可能知道这是否可能。我正在使用java创建一个.csv文件,每行的逗号分隔条目之一是一个url。

例子:

第 1 项,第 2 项,第 3 项, http ://myurl.com

最初,当我在 Excel 中加载 .csv 文件时,它只加载了 url 的文本,并没有使其可点击。我可以通过在创建文件时用这个字符串包围条目来解决这个问题:

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

加载 Excel 时,该链接可单击,并且鼠标指针变为手形图标。唯一的问题是,当您只是看着它而不是悬停单元格时,它看起来就像白色背景上的黑色文本。通常当你看到一个链接时,它是蓝色的,带有下划线表示它是可点击的。我想要这个视觉队列,但我不确定是否有办法通过使用某种单元格格式化函数或其他东西修改我上面的函数来做到这一点。

是的,我知道条件格式是什么以及如何将其应用于 Excel 中的单元格。但是,这对我不起作用,因为我只需要它在加载文件时工作。当用户下载它时,该文件总是被创建新的,因为内容总是在变化的。任何想法将不胜感激。

4

3 回答 3

1

您可以使用jXLS库创建模板化的 excel 文件。它真的很容易使用。样本

于 2014-04-27T08:18:37.970 回答
1

通过双击 .csv 文件输入的超链接是“冷”(不可点击)的原因是用户界面中使用键入的文本创建“热”超链接的部分已被绕过。如果 .csv 具有原始 URL 而不是 =HYPERLINK() 函数,则可以通过运行以下命令使其变热:

Sub HyperIgniter()
    Dim r As Range
    For Each r In ActiveSheet.UsedRange
        If Left(r.Text, 4) = "http" Then
            r.Select
            Application.SendKeys "{F2}"
            Application.SendKeys "{ENTER}"
            DoEvents
        End If
    Next r
End Sub

这相当于重新键入每个超链接,从而使它们“热”并赋予它们通常的格式。

于 2013-06-20T03:14:57.297 回答
1

这绝对可以完成,但它可能比您预期的要复杂。

首先,您必须按照本文中的步骤创建一个新的自定义数字格式,您可以在所有新工作簿中使用它,您的客户也可以使用。

将单元格格式选项添加到自定义列表

我会引用这份清单,但我不想对 HansV 的出色解决方案有任何功劳。

您要添加的选项将是“[蓝色]常规”

现在,您的 CSV 文件应该像下面的示例一样保存字符串:“=text(hyperlink("" http://www.google.com ""),""[blue]General"")"

所以,现在您正在应用新格式(控制字体颜色)。只需将 google.com 替换为您的网址即可。您会注意到有许多引号是 CSV 格式复杂的结果,因此它会在需要的地方添加引号,并且不会将必要的逗号(对于 TEXT 函数)拆分为两个单元格。

于 2014-12-14T05:18:12.827 回答