У меня проблема с использованием библиотеки PHPExcel.
Когда я пытаюсь преобразовать файл XLS в CSV, числа преобразуются в целое, если десятичная часть скрыта типом ячейки, и поэтому десятичные дроби не являются сохранено в окончательном файле.
Например, если в ячейке отображается число 167, а реальное значение - 167,896, в выходном файле я просто вижу целую часть (167).
Я хотел бы иметь полные исходные данные в своем CSV-файле, но не могу понять, как это сделать.
Я использую следующий код для преобразования файла:
$inputFileType = 'Excel2007';
$inputFileName = './file_name.xlsx';
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setReadDataOnly(true);
$objPHPExcelReader = PHPExcel_IOFactory::load($inputFileName);
$loadedSheetNames = $objPHPExcelReader->getSheetNames();
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcelReader, 'CSV');
foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) {
$objWriter->setSheetIndex($sheetIndex);
$objWriter->save('./'.$loadedSheetName.'.csv');
}
Также удаление $objReader->setReadDataOnly(true);
не решает проблему.
Заранее спасибо!