web-dev-qa-db-ja.com

csvからExcelへの変換

Apache/.htaccessからのリクエストに応じてcsvファイルをExcelファイルに変換する方法はありますか

19
Ashraf Sufian

PHPExcel を使用する

include 'PHPExcel/IOFactory.php';

$objReader = PHPExcel_IOFactory::createReader('CSV');

// If the files uses a delimiter other than a comma (e.g. a tab), then tell the reader
$objReader->setDelimiter("\t");
// If the files uses an encoding other than UTF-8 or ASCII, then tell the reader
$objReader->setInputEncoding('UTF-16LE');

$objPHPExcel = $objReader->load('MyCSVFile.csv');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('MyExcelFile.xls');
69
Mark Baker

注:PHPExcelは現在 [〜#〜] deprecated [〜#〜] としてリストされています。

ユーザーは PhpSpreadsheet に転送されます。

3
bagsmode

PHPExcelは非推奨です。 PhpSpreadsheet を使用する必要があります。

PhpSpreadsheetでは、次のコードでcsvをxlsxに変換できます。

$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Csv');

// If the files uses a delimiter other than a comma (e.g. a tab), then tell the reader
// $reader->setDelimiter("\t");
// If the files uses an encoding other than UTF-8 or ASCII, then tell the reader
// $reader->setInputEncoding('UTF-16LE');

$objPHPExcel = $reader->load('/home/superman/projects/test/csv-app/file.csv');
$objWriter = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($objPHPExcel, 'Xlsx');
$objWriter->save('Excel_file.xlsx');
1
user3785966

PhpSpreadheet の使用:

require '../../vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

$spreadsheet = new Spreadsheet();
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Csv();

/* Set CSV parsing options */

$reader->setDelimiter(',');
$reader->setEnclosure('"');
$reader->setSheetIndex(0);

/* Load a CSV file and save as a XLS */

$spreadsheet = $reader->load('../../uploads/test.csv');
$writer = new Xlsx($spreadsheet);
$writer->save('test.xlsx');

$spreadsheet->disconnectWorksheets();
unset($spreadsheet);

これは私にとって魅力のように働いた!乾杯!!!

0
Plabon Dutta

はい、Apacheはオープンソースなので、.htaccessパーサーを変更してライブラリを呼び出し、CSVファイルをExcelファイルに変換できます。しかし、これはあなたが探しているものではないと思います。 :-)。

本当に必要なのは動的なWebサイトだと思います。次に、PHPまたはサポートされている任意の言語を使用して、必要な操作を実行できます。

このようなもの: http://www.westwideweb.com/wp/2009/01/12/convert-csv-to-xls-Excel-in-php/

0
gtrak

この変換を行うプロジェクトがsourceforgeにあります。

http://sourceforge.net/projects/py-csv2xls/

ただし、変換のために、Apache(python、php ...)で動的ページを作成する必要があります。

0
Pablo Alba