我遇到了日期和时间方面的问题。我希望它们像出现在 Excel 工作簿中一样被阅读。
所以,我相信如果我使用 toArray() 获取工作表的所有单元格,那么我应该简单地做一些事情(一些格式转换)将所有单元格映射为字符串、日期、时间等。
或者可能有像加载这样的函数,它将工作簿中的所有数据作为字符串加载,没有任何格式或其他复杂的东西。
最佳答案
toArray() 支持以下参数:
/**
* @param mixed $nullValue Value returned in the array entry if a cell doesn't
* exist
* @param boolean $calculateFormulas Should formulas be calculated?
* @param boolean $formatData Should formatting be applied to cell values?
* @param boolean $returnCellRef False - Return a simple array of rows and
* columns indexed by number counting from zero
* True - Return rows and columns indexed by their
* actual row and column IDs
*/
所以
toArray(NULL,TRUE,TRUE);
将返回工作表中的所有单元格值(经过计算和格式化),与它们在 Excel 中的显示完全相同。
因此日期将返回为(例如)21-Dec-2011 07:30 而不是 47239.318(取决于单元格的格式掩码)。其他数字单元格可能返回为 21,357.00(取决于该单元格的格式屏蔽),因此它是一把双刃剑。
关于PHPExcel:将所有值(日期、时间、数字)读取为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8583915/