我只是从Excel2007文件中读取,而不是写作。
我循环遍历RowIterator,然后循环CellIterator,将$ cell-> getValue()回显到HTML表格中。对于某些单元格,单元格值不正确,当我想要实际值(作为字符串)时,它显示为数字(特别是浮点数)。
如何在不转换为数字且没有解释的情况下强制所有单元格值成为原始值?
答案 0 :(得分:2)
您正在使用getValue()
来检索来自单元格的原始数据....这并不意味着它不正确,只是未格式化。当你想要的是解释的值时,你实际获得的是原始值。例如,在MS Excel中,日期/时间值保存为数值(如unix时间戳,除非基于与unix不同的基准日期,以及天数而不是秒数),并且它是'将数字格式掩码应用于该单元格,该单元格负责将其显示为日期。
如果要在应用格式的情况下检索此值,则会有getFormattedValue()
方法.....假设您没有使用readDataOnly
加载文件....它将MS Excel数字格式掩码应用于单元格值并按MS Excel中显示的方式返回。
如果您不想格式化,但您的单元格包含公式,那么getValue()
将返回公式,而不是计算值....如果您想要计算的值而不是公式,然后你使用getCalculatedValue()
方法。
所有这些都在PHPExcel documentation
中描述