$value) { // for ($i = 0; $i < 17; $i++) { // $value[$i] = (isset($value[$i])) ? $value[$i] : 0; // } $value['sign'][3] = (isset($value['sign'][3])) ? $value['sign'][3] : 0; $value['second'][3] = (isset($value['second'][3])) ? $value['second'][3] : 0; $value['arrive'][3] = (isset($value['arrive'][3])) ? $value['arrive'][3] : 0; $value['install'][3] = (isset($value['install'][3])) ? $value['install'][3] : 0; $value['tryrun'][3] = (isset($value['tryrun'][3])) ? $value['tryrun'][3] : 0; $value['check'][3] = (isset($value['check'][3])) ? $value['check'][3] : 0; $value['delivery'][3] = (isset($value['delivery'][3])) ? $value['delivery'][3] : 0; $value['final'][3] = (isset($value['final'][3])) ? $value['final'][3] : 0; $array_data[$key] = [ $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], $value['sign'][1], $value['second'][1], $value['arrive'][1], $value['install'][1], $value['tryrun'][1], $value['check'][1], $value['delivery'][1], $value['final'][1], $value['sign'][3], $value['second'][3], $value['arrive'][3], $value['install'][3], $value['tryrun'][3], $value['check'][3], $value['delivery'][3], $value['final'][3], $value['receivable_budget'], $value['invoice_budget'], $value['received_budget'], str_replace('
', '; ', $value['facilities']) ]; } $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $colomnHeader = [ '合約號', '部門', '經理', '營業員', '客戶名稱', '統一編號', '聯絡地址', '抬頭', '簽約款', '二次款', '貨抵工地款', '安裝款', '試車款', '官檢款', '交車款', '尾款', '目前應收簽約款', '目前應收二次款', '目前應收貨抵工地款', '目前應收安裝款', '目前應收試車款', '目前應收官檢款', '目前應收交車款', '目前應收尾款', '目前應收', '已開發票金額', '已收金額', '作番狀態' ]; $sheet->fromArray($colomnHeader, NULL, 'A1'); $rowIndex = 2; foreach ($array_data as $key => $value) { $sheet->fromArray([$value], NULL, 'A' . $rowIndex); $sheet->getStyle('AB' . $rowIndex)->getAlignment()->setWrapText(true); $column = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA']; foreach($column as $col) { $sheet->getColumnDimension($col)->setAutoSize(true); } $rowIndex++; } $writer = new Xlsx($spreadsheet); $excelFileName = 'account-receivable-test.xlsx'; $writer->save($excelFileName); echo $excelFileName; ?>