Comment convertir Excel XLS en CSV en PHP

est-ce que quelqu'un peut me guider comment convertir XLS en CSV en utilisant PHP?

j'ai une feuille de calcul excel qui contient une liste de documents, je veux la convertir au format CSV en utilisant PHP.

22
demandé sur Mark 2011-10-14 14:24:23

4 réponses

Probablement, vous pouvez démarrer lecture d'un XLS en utilisant PHP.

ensuite, en utilisant la logique principale pour produire ce que vous voulez (csv dans votre cas).

Bonne chance,

11
répondu robermorales 2011-10-14 10:28:17

Ce sera sûrement travail,

require_once 'Classes/PHPExcel/IOFactory.php';

$inputFileType = 'Excel5';
$inputFileName = 'YOUR_EXCEL_FILE_PATH';

$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcelReader = $objReader->load($inputFileName);

$loadedSheetNames = $objPHPExcelReader->getSheetNames();

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcelReader, 'CSV');

foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) {
    $objWriter->setSheetIndex($sheetIndex);
    $objWriter->save($loadedSheetName.'.csv');
}

Espérons que cette aide...

19
répondu Rajat Modi 2013-11-18 09:50:41

Vous pouvez utiliser la bibliothèque php PHPExcel pour lire le fichier excel, et juste boucler les lignes et les cellules et juste écrire les données à un fichier csv?

4
répondu iWantSimpleLife 2014-10-27 07:01:05

réécrire le code fourni par @Rajat Modi en utilisant PhpSpreadsheet library dû à PHPExcel est déprécié.

https://github.com/PHPOffice/PhpSpreadsheet

https://phpspreadsheet.readthedocs.io/en/develop/

<?php 

require 'vendor\autoload.php';

use \PhpOffice\PhpSpreadsheet\Reader\Xlsx;
use \PhpOffice\PhpSpreadsheet\Writer\Csv;

$xls_file = "Example.xlsx";

$reader = new Xlsx();
$spreadsheet = $reader->load($xls_file);

$loadedSheetNames = $spreadsheet->getSheetNames();

$writer = new Csv($spreadsheet);

foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) {
    $writer->setSheetIndex($sheetIndex);
    $writer->save($loadedSheetName.'.csv');
}
4
répondu cww 2018-03-22 04:47:57