PHPExcel如何在没有解释的情况下读取单元格值?
PHPExcel how to read cell value without interpretation?
我只是从 Excel2007 文件中读取,而不是写入。
我正在循环 RowIterator,然后是 CellIterator,将 $cell->getValue() 回显到 HTML table。对于某些单元格,当我想要实际值(作为字符串)时,单元格值不正确并且显示为数字(特别是浮点数)。
如何在不转换为数字且不解释的情况下将所有单元格值强制为原始值?
您正在使用 getValue()
从单元格中检索原始数据....这并不意味着它不正确,只是未格式化。当您似乎想要的是解释值时,您实际上得到的是原始值。举个例子,在 MS Excel 中,date/time 值被保存为数值(类似于 unix 时间戳,除了基于与 unix 不同的基准日期,并且作为天数而不是秒数) ,它是将数字格式掩码应用于负责将其显示为日期的单元格。
如果你想在应用格式的情况下检索这个值,那么有 getFormattedValue()
方法......假设你没有使用 readDataOnly
加载文件......这会将 MS Excel 数字格式掩码应用于单元格值,并 return 将其显示在 MS Excel.
中
如果您不想格式化,但您的单元格包含公式,那么 getValue()
将 return 公式,而不是计算值....如果您想要计算值的公式,然后你使用 getCalculatedValue()
方法。
所有这些都在 PHPExcel documentation
中描述
我只是从 Excel2007 文件中读取,而不是写入。
我正在循环 RowIterator,然后是 CellIterator,将 $cell->getValue() 回显到 HTML table。对于某些单元格,当我想要实际值(作为字符串)时,单元格值不正确并且显示为数字(特别是浮点数)。
如何在不转换为数字且不解释的情况下将所有单元格值强制为原始值?
您正在使用 getValue()
从单元格中检索原始数据....这并不意味着它不正确,只是未格式化。当您似乎想要的是解释值时,您实际上得到的是原始值。举个例子,在 MS Excel 中,date/time 值被保存为数值(类似于 unix 时间戳,除了基于与 unix 不同的基准日期,并且作为天数而不是秒数) ,它是将数字格式掩码应用于负责将其显示为日期的单元格。
如果你想在应用格式的情况下检索这个值,那么有 getFormattedValue()
方法......假设你没有使用 readDataOnly
加载文件......这会将 MS Excel 数字格式掩码应用于单元格值,并 return 将其显示在 MS Excel.
如果您不想格式化,但您的单元格包含公式,那么 getValue()
将 return 公式,而不是计算值....如果您想要计算值的公式,然后你使用 getCalculatedValue()
方法。
所有这些都在 PHPExcel documentation
中描述