【问题标题】:How to write a string starting with '=' to a cell using Spreadsheet::WriteExcel如何使用 Spreadsheet::WriteExcel 将以“=”开头的字符串写入单元格
【发布时间】:2011-02-25 22:53:24
【问题描述】:

我正在使用 Perl 包 Spreadsheet::WriteExcel 来编写 Excel 文件。我想将一个以等号“=ABC()”开头的字符串写入一个单元格。

 $ws->write('A1', '=ABC()');

但我收到了一条错误消息

 Unknown function ABC() in formula

有人可以建议吗?

【问题讨论】:

  • 注意我不希望单元被解释为一个函数(无论如何,由模块)。所以是的,ABC 不是一个函数,不,我没有用它作为例子,那是我想放入单元格中的实际字符串。

标签: perl excel spreadsheet


【解决方案1】:

直接使用write_string方法,而不是使用write

$ws->write_string('A1', '=ABC()');

Spreadsheet::WriteExcel's write 方法是一种方便的方法,可以猜测您要存储的数据类型。如果它猜错了,你应该使用特定类型的方法之一。

【讨论】:

  • 我是 Spreadsheet::WriteExcel 的作者,这是正确的答案。有关详细说明,请参阅 write() 方法的文档。
  • 如果我们想使用 write_row() 方法在 excel 中写入,该方法以 arrayref 作为输入,而 arrayref 有类似的东西 ("data","=" ) 然后它也会抛出错误,还有其他解决方案吗?
【解决方案2】:

@Cjm 已经提供了最佳答案。不过,我想记住,也可以将任何单元格格式化为 text 并输入你想要的任何内容,这不会被解释。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-23
    • 2012-06-23
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多