在我先前将整个第一列格式化为日期的Excel表格中,后来将所使用的单元格格式更改为常规(单元格A1至A11)。因此,从单元格A12开始,第一列仍然具有以前的日期格式。 当我尝试使用第一列(A1,A2,...,A11)的值时,它将它们的格式标识为日期,并给出错误的结果。PHPExcel采用空单元格格式
例如,这retruns日期格式(d /月/年),这是不是这种情况(参见图片)
$sheet->getStyle('A3')->getNumberFormat()->getFormatCode();
而且整个列具有以下格式:
$sheet->getStyle('A')->getNumberFormat()->getFormatCode();
有没有办法确保单元格本身的格式被考虑? (当我表示这个细胞明确地,使用正确的格式的格式)
经过一番调查,发现只有针对的.xlsx文件时出现此问题(使用阅读器PHPExcel_Reader_Excel2007),而不是为.xls文件(阅读器PHPExcel_Reader_Excel5)。
感谢您的回复。尝试此(其中工程): $ sheet-> getStyle('A1:A20') - > getNumberFormat() - > setFormatCode('General'); 但是,应该有一个通用的方法来做到这一点(我的意思是:采取单元格的实际格式,而不是强制'一般'格式) – user2992220 2014-10-03 07:12:21
嗯,这是我的解决方案,但它只设置所有的格式A * 细胞。另外setFormatCode从常量中获取样式,使用它们是很好的。 – 2014-10-05 08:09:18