web-dev-qa-db-fra.com

Comment convertir Excel XLS en CSV en utilisant PHP

Quelqu'un peut-il 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.

25
RAAAAM

Vous pouvez probablement commencer lire un XLS en utilisant PHP .

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

Bonne chance,

10
robermorales

Cela fonctionnera sûrement,

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');
}

J'espère que cela t'aides...

20
Rajat Modi

Réécrire le code fourni par @Rajat Modi à l'aide de la bibliothèque PhpSpreadsheet en raison de PHPExcel est obsolète.

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');
}
11
cww

Vous pouvez utiliser la bibliothèque php PHPExcel pour lire le fichier Excel, et simplement parcourir les lignes et les cellules et simplement écrire les données dans un fichier csv?

4
iWantSimpleLife