PHPExcel从数组中写入.xls,将单元格数据类型设置为STRING/TEXT


PHPExcel write .xls out of an array, set cell data type to STRING/TEXT

我想写一个.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的参数。