phpSpreadSheet を利用して、日本語のファイル名で保存しようとしていますが、エラーが発生します。
そもそも日本語のファイル名は扱えないのでしょうか?
ご教授のほどよろしくお願い致します。
ソースは以下になります。
※phpファイルと同ディレクトリ内に、ユーザ一覧.xlsx(テンプレート)を配置し、
テンプレートファイルに情報を追加して、別名にて出力しようとしています。
PHP
1<?php 2 3require_once 'vendor/autoload.php'; 4 5$todaystr = date('Ymd'); 6$input = 'ユーザ一覧.xlsx'; 7$output = 'ユーザ一覧_' . $todaystr . '.xlsx'; 8 9$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($input); 10 11$sheet = $spreadsheet->getActiveSheet(); 12 13$sheet->setCellValue('C2', '山田太郎'); 14$sheet->setCellValue('C3', '1999年1月30日'); 15// セル内の改行 16$sheet->setCellValue('C4', "備考1\n備考2"); 17 18$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx'); 19$writer->save($output); 20 21?>
以下のエラーとなります。
PS D:\php_pg> php .\excel.php PHP Fatal error: Uncaught Error: Call to undefined function PhpOffice\PhpSpreadsheet\Reader\mime_content_type() in D:\php_pg\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Reader\Csv.php:516 Stack trace: #0 D:\php_pg\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\IOFactory.php(147): PhpOffice\PhpSpreadsheet\Reader\Csv->canRead('\x83\x86\x81[\x83U\x88\xEA\x97\x97.xlsx') #1 D:\php_pg\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\IOFactory.php(93): PhpOffice\PhpSpreadsheet\IOFactory::createReaderForFile('\x83\x86\x81[\x83U\x88\xEA\x97\x97.xlsx') #2 D:\php_pg\excel.php(9): PhpOffice\PhpSpreadsheet\IOFactory::load('\x83\x86\x81[\x83U\x88\xEA\x97\x97.xlsx') #3 {main} thrown in D:\php_pg\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Reader\Csv.php on line 516 Fatal error: Uncaught Error: Call to undefined function PhpOffice\PhpSpreadsheet\Reader\mime_content_type() in D:\php_pg\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Reader\Csv.php:516 Stack trace: #0 D:\php_pg\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\IOFactory.php(147): PhpOffice\PhpSpreadsheet\Reader\Csv->canRead('\x83\x86\x81[\x83U\x88\xEA\x97\x97.xlsx') #1 D:\php_pg\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\IOFactory.php(93): PhpOffice\PhpSpreadsheet\IOFactory::createReaderForFile('\x83\x86\x81[\x83U\x88\xEA\x97\x97.xlsx') #2 D:\php_pg\excel.php(9): PhpOffice\PhpSpreadsheet\IOFactory::load('\x83\x86\x81[\x83U\x88\xEA\x97\x97.xlsx') #3 {main} thrown in D:\php_pg\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Reader\Csv.php on line 516 PS D:\php_pg>
回答1件
あなたの回答
tips
プレビュー