2017-11-20 7 views
1

私はmysqlデータベースにデータをインポートするためにPHPExcelを使用しています。PHPExcelを使用して実際のデータの後で空の行を避ける方法

私のコードは、14行を持つ私のExcelシートで

require APPPATH . 'phpexcel/PHPExcel/IOFactory.php'; 
$objPHPExcel = PHPExcel_IOFactory::load($_FILES['ifile']['tmp_name']); 
$data = $objPHPExcel->getActiveSheet(0)->toArray(null, true, true, true); 

ですが、$objPHPExcel->setActiveSheetIndex(0)->getHighestRow()戻り1047856行。このため、処理時間が長すぎます。したがって$dataはエラーを返し、サーバーは遅くなります。これを避ける方法は?

答えて

1

いいえ、あなたのExcelシートには、データやスタイリング、印刷設定など、Excelのファイル自体に存在するものがあります。ただし、実際の内容を見るgetHighestDataRow()メソッドがあります。単にファイル内に存在するのではなく、それでもNULLまたは空の文字列を含むセルは返されますが、おそらくあなたの使用には優れています。

getHighestDataRow()は、行数を使用して問題を解決した場合、あなたはおそらく、私はgetHighestDataRow()を使用していますがrangeToArray()ではなくtoArray()

+0

を使用することを検討すべきであるが、「ErrorException [致命的なエラー]のようなエラーが表示されます。未定義のメソッドPHPExcelの呼び出し:: getHighestDataRow() " – Arya

+1

個々のワークシートには行があり、最上位のExcelオブジェクトではありません..... $ objPHPExcel-> setActiveSheetIndex() - > getHighestDataRow() –

+0

PHPExcelの最新バージョンを使用していますが、getHighestDataRow()関数は定義されていません –

関連する問題