いろいろ触っていたら、csvは複数のsheetsをサポートしていないとアラートが出たので、手動でsheet2,sheet3を削除してcsvで保存。
ini_set('memory_limit', '512M'); $file = "csv/test.csv"; $file = fopen($file, "r"); echo "<table>"; if($file){ $i= 0; while ($line = fgetcsv($file)) { if($i < 10){ echo "<tr><td>".$line[0]."</td>"; echo "<td>".$line[1]."</td>"; echo "<td>".$line[4]."</td>"; echo "<td>".$line[5]."</td>"; echo "<td>".$line[9]."</td>"; echo "<td>".$line[10]."</td>"; echo "<td>".$line[11]."</td>"; echo "<td>".$line[12]."</td></tr>"; } $i++; } } echo "</table>"; fclose($file);
あれ? なに。
composerでphpexcelをインストールします。
sudo vi /etc/php.iniで以下に変更。
‘memory_limit’, ‘512M’
‘set_time_limit’, ‘480’
phpexcelでシートを削除して期待するcsvに保存できるかやってみます。
set_include_path(get_include_path() . PATH_SEPARATOR . "vendor/phpoffice/phpexcel/Classes/"); include "PHPExcel.php"; include "PHPExcel/IOFactory.php"; $path = "csv/account.xls"; $excel = PHPExcel_IOFactory::load($path); $excel->removeSheetByIndex(2); $writer = PHPExcel_IOFactory::createWriter($excel, 'CSV'); $writer->save('csv/out.csv');
駄目なようなので、別の方法を探します。