Excel单元格格式特例

时间:2013-06-06 12:52:47

标签: excel file csv hyperlink formatting

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

示例:

ITEM1,ITEM2,项目3,http://myurl.com

最初当我在Excel中加载.csv文件时,它只加载了网址的文本,并且没有使其可点击。我能够通过在创建文件时使用此字符串围绕条目来解决此问题:

= HYPERLINK( “http://myurl.com”)

加载Excel时,链接可单击,鼠标指针变为手形图标。唯一的问题是,当你只是看着它而不是盘旋细胞时,它看起来就像是白色背景上的黑色文字。通常当您看到链接时,它是蓝色的,带有下划线,表示它是可点击的。我想拥有这个可视化队列,但是我不确定是否有办法通过使用某种单元格格式化功能修改上面的函数。

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

3 个答案:

答案 0 :(得分: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

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

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

Adding cell format options to Custom list

我会引用这份清单,但我并不赞成HansV的出色解决方案。

您要添加的选项为" [蓝色]常规"

现在,您的CSV文件应该保存字符串,如下例所示: " =文本(超链接("" http://www.google.com""),"" [蓝色]一般性"&#34 ;)"

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