前提・実現したいこと
エクセルデータ取込時のC列を追加しましたが、
エラーが発生し、取込ができない状態です。
$data = $sheet->rangeToArray("A".$row_index.":B".$row_index);
からC列追加
$data = $sheet->rangeToArray("A".$row_index.":B".$row_index.":C".$row_index);
$deliveryId = $data[2];を追加
発生している問題・エラーメッセージ
error:Symfony\Component\Debug\Exception\ContextErrorException: Notice: Undefined offset: 2
該当のソースコード
$reader = new XlsxReader(); $spreadsheet = $reader->load($file->getRealPath()); $sheet = $spreadsheet->setActiveSheetIndex(0); $count = 0; $errors = array(); $datas = array(); foreach ($sheet->getRowIterator(1) as $row_index => $row) { // 1行目はヘッダー行なので飛ばす if($row_index == 1){ continue; } $data = $sheet->rangeToArray("A".$row_index.":B".$row_index.":C".$row_index); if(isset($data)){ $data = $data[0]; $datas[] = array_map('trim', $data); } else { return; } } $spreadsheet->disconnectWorksheets(); $app['orm.em']->getConnection()->setAutoCommit(true); foreach ($datas as $data) { try { if(!$app['orm.em']->getConnection()->isTransactionActive()){ $app['orm.em']->getConnection()->beginTransaction(); } $orderId = $data[0]; $invoiceNo = $data[1]; $deliveryId = $data[2];
試したこと
$deliveryId = $data[2];は取込ができず
$deliveryId = 'A';にすると取込はできます。
$data[2]が何か問題があるようですが、解決方法がよくわかりません。
補足情報(FW/ツールのバージョンなど)
[EC-CUBE]3.0.16
[OS]centos7
[PHP]7.1.8
[データベース]postresql
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/25 09:31