2011-02-25 26 views
3

我正在使用Perl程序包Spreadsheet::WriteExcel編寫一個Excel文件。我想寫一個以等號「= ABC()」開頭的字符串給單元格。如何使用Spreadsheet :: WriteExcel將一個以'='開頭的字符串寫入一個單元格:: WriteExcel

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

但我得到的

Unknown function ABC() in formula 

的錯誤信息誰能指教?

+0

注意我不希望細胞作爲函數被解釋(通過模塊,無論如何)。所以,是的,ABC不是一個函數,不是,我沒有用它作爲例子,那是我想要放入單元格中的實際字符串。 – Zhang18 2011-02-25 23:14:10

回答

11

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

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

Spreadsheet::WriteExcel'swrite方法是猜測你想儲存什麼樣的數據的簡便方法。如果它猜錯了,你應該使用其中一種特定於類型的方法。

+4

我是Spreadsheet :: WriteExcel的作者,這是正確的答案。有關詳細說明,請參閱write()方法的文檔。 – jmcnamara 2011-02-25 23:30:24

+0

以及如果我們想使用** write_row()方法來寫入excel,那arrayref就是這樣的輸入,arrayref有這樣的東西(「data」,「=」),那麼它也會拋出錯誤,有沒有其他解決方案相同嗎? – Ganesh 2015-04-07 08:16:39

0

@Cjm已經提供了最好的答案。不過,我想記住,也可以將任何單元格格式化爲文本,然後鍵入任何您想要的內容,但不會被解釋。

相關問題