在Google表格Java Api中设置文本单元格的http链接

时间:2017-07-15 12:11:37

标签: java google-spreadsheet-api google-sheets-api

我想在Google工作表中插入带有超链接的单元格文字:

enter image description here

我尝试了这个Java代码:

values.add(new CellData()
                .setUserEnteredValue(new ExtendedValue()
                    .setStringValue(get.getTitle())).setHyperlink(get.getUrl())

但我只得到没有超链接的文字。 我该如何实现呢?

1 个答案:

答案 0 :(得分:2)

Documentation

  

此单元格指向的超链接(如果有)。该字段是只读的。 (要设置它,请在userEnteredValue.formulaValue字段中使用=HYPERLINK公式。)

如果没有公式,api会创建带有超链接信息的单元格,以激活将formulaValue设置为=HYPERLINK所需的行为。

您可以忘记上面的想法,超链接只是CellData的只读字段。

此外,您不能为ExtendedValue对象设置多个属性,它只接受要设置的单个属性。所有属性都指向Cell的值,但唯一的区别是那些setters确定单元格值的类型(bool,string,formula,number ,错误),所以你不能为Single Cell设置多个值,这就是你得到错误的原因((oneof),oneof字段'value'已经设置)。

这是新代码,您可以通过这种方式添加超链接。

new CellData()
            .setUserEnteredValue(new ExtendedValue()
                    .setFormulaValue("=HYPERLINK(\"http://stackoverflow.com\",\"SO label\")"))