web-dev-qa-db-ja.com

PHPを使用してExcel XLSをCSVに変換する方法

PHPを使用してXLSをCSVに変換する方法を教えてもらえますか?

ドキュメントのリストを含むExcelスプレッドシートがあります。これをPHPを使用してCSV形式に変換します。

25
RAAAAM

おそらく PHPを使用してXLSを読み取る を開始できます。

次に、メインロジックを使用して、必要なもの(この場合はcsv)を出力します。

幸運を、

10
robermorales

これは確実に機能しますが、

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

お役に立てれば...

20
Rajat Modi

PHPExcelは非推奨であるため、PhpSpreadsheetライブラリを使用して@Rajat Modiが提供するコードを書き換えます。

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

Phpライブラリ PHPExcel を使用してExcelファイルを読み取り、行とセルをループしてデータをcsvファイルに書き込めますか?

4
iWantSimpleLife