在我先前將整個第一列格式化爲日期的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