PHPExcel не сохраняет десятичные дроби при переходе из XLS в CSV - PullRequest
0 голосов
/ 04 марта 2020

У меня проблема с использованием библиотеки 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); не решает проблему.

Заранее спасибо!

...