0

PHP スクリプト (PHPEXCEL ライブラリhttp://phpexcel.codeplex.com/releases/view/107442を使用) を使用して 1,00,000 を超える XLS 行を処理し、MYSQL に挿入しようとしていますが、毎回タイムアウトが発生します。そのため、メモリ制限、実行制限、投稿サイズ制限を変更しました

set_time_limit(1800);
ini_set('memory_limit','-1');
ini_set('upload_max_filesize', '512M');
ini_set('post_max_size','250M');    

タイムアウトの問題は解決されましたが、PHPEXCEL ライブラリを使用した EXCEL ファイルのロード中にサーバーがリセットされます。

PHPExcel_Cell::setValueBinder( new PHPExcel_Cell_AdvancedValueBinder() );
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setLoadSheetsOnly($sheetname);
$objPHPExcel = $objReader->load($inputFileName);

ここでサーバーをリセットしています。

$objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
            ->setLastModifiedBy("Maarten Balliauw")
            ->setTitle("Office 2007 XLSX  Document")
            ->setSubject("Office 2007 XLSX  Document")
            ->setDescription(" Document for Office 2007 XLSX, generated using PHP classes.")
            ->setKeywords("office 2007 openxml php")->setCategory("php result file");
$this->dump($objPHPExcel);
// to iterate sheets
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet)
    // to iterate rows
    foreach ($worksheet->getRowIterator() as $row) 
    {
       $cellIterator = $row->getCellIterator();
       $cellIterator->setIterateOnlyExistingCells(false);
       // to iterate cells
       foreach ($cellIterator as $cell => $val) {

残念ながら、php で一括データ解析を処理するためのスクリプトやチュートリアルはありませんでした。

助けてください

4

0 に答える 0