我想写一个.xls。我的数据存储在一个数组中,如下所示:
Array
(
[1] => Array
(
[0] => CAGL0B04213g
[1] => Strain CBS138 chromosome B complete sequence
[2] => 11.02.03.04
[3] => transcriptional control
[4] => Transcription
[5] => 0.15831099018927
[6] => 1
[7] => 0.31746031746032
)
[2] => Array
(
[0] => CAGL0B04213g
[1] => Strain CBS138 chromosome B complete sequence
[2] => 32.01.01
[3] => oxidative stress response
[4] => Cell rescue, defense and virulence
[5] => 0.09289860600029
[6] => 1
[7] => 1.2048192771084
)
)
我使用了方法fromArray()
,它运行良好,但当我使用例如LibreOffice打开.xls时,像32.01.01
这样的条目显示为'32.01.01
,或者像40.01
这样的条目表示为42,01
。我尝试了这种方法(用PHPExcel将数字读取为文本格式)但我看不出有什么变化。如何将所有值写为STRING/TEXT,并防止LibreOffice或Excel以数据格式或数字显示它们?
谢谢!
由于它适用于,这里是另一个几乎相同问题的公认答案的重要部分:
你必须将数字显式地存储为字符串,这样你就不能使用fromArray()。使用setCellValueExplicit()或设置CellValueExplicitByColumnAndRow(),传递$pDataTypePHPExcel_Cell_DataType::TYPE_STRING的参数。