getActiveSheet(); if ($type == 'newContract') { $sheet->mergeCells('A1:X1'); $sheet->setTitle('新梯催收統整'); $sheet->setCellValue('A1', '新梯催收統整'); $sheet->getStyle('A1')->getFont()->setBold(true); $sheet->getStyle('A1')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER); $sheet->getStyle('A1')->getAlignment()->setVertical(Alignment::VERTICAL_CENTER); $sheet->getStyle('A1')->getFont()->setSize(14); $sheet->getRowDimension('1')->setRowHeight(38); $colomnHeader = [ '合約號', '客戶名稱','部門','營業員', '合約金額', '台數', '作番狀態', '催收金額', '訂金催收金額', '訂金催收次數', '二次款催收金額', '二次款催收次數', '貨抵工地款催收金額', '貨抵工地款催收次數', '安裝款催收金額', '安裝款催收次數', '試車款催收金額', '試車款催收次數', '官檢驗收催收金額', '官檢驗收催收次數', '交車款催收金額', '交車款催收次數', '尾款催收金額', '尾款催收次數' ]; // file_put_contents('account-receivable.txt', json_encode($Bill, JSON_UNESCAPED_UNICODE)); $sheet->fromArray($colomnHeader, NULL, 'A2'); $rowIndex = 3; foreach ($Bill as $key => $value) { $sheet->fromArray($value, NULL, 'A' . $rowIndex); $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' ]; foreach ($column as $col) { if ($col == 'G') { $sheet->getColumnDimension('G')->setWidth(35); $sheet->getStyle('G')->getAlignment()->setWrapText(true); } else { // $sheet->getColumnDimension($col)->setAutoSize(true); $sheet->getColumnDimension($col)->setWidth(10); $sheet->getStyle($col)->getAlignment()->setWrapText(true); } } $rowIndex++; } $writer = new Xlsx($spreadsheet); $excelFileName = 'account-receivable-contract.xlsx'; } elseif ($type == 'maintainance') { $sheet->mergeCells('A1:H1'); $sheet->setTitle('保養催收統整'); $sheet->setCellValue('A1', '保養催收統整'); $sheet->getStyle('A1')->getFont()->setBold(true); $sheet->getStyle('A1')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER); $sheet->getStyle('A1')->getAlignment()->setVertical(Alignment::VERTICAL_CENTER); $sheet->getStyle('A1')->getFont()->setSize(14); $sheet->getRowDimension('1')->setRowHeight(38); $colomnHeader = [ '合約號','序號','作番號','部門','契約員','客戶','金額','催收次數' ]; // file_put_contents('account-receivable.txt', json_encode($Bill, JSON_UNESCAPED_UNICODE)); $sheet->fromArray($colomnHeader, NULL, 'A2'); $rowIndex = 3; foreach ($Bill as $key => $value) { $sheet->fromArray($value, NULL, 'A' . $rowIndex); $column = [ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H' ]; $rowIndex++; } $writer = new Xlsx($spreadsheet); $excelFileName = 'account-receivable-contract.xlsx'; }elseif ($type == 'renovate') { $sheet->mergeCells('A1:K1'); $sheet->setTitle('汰改催收統整'); $sheet->setCellValue('A1', '汰改催收統整'); $sheet->getStyle('A1')->getFont()->setBold(true); $sheet->getStyle('A1')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER); $sheet->getStyle('A1')->getAlignment()->setVertical(Alignment::VERTICAL_CENTER); $sheet->getStyle('A1')->getFont()->setSize(14); $sheet->getRowDimension('1')->setRowHeight(38); $colomnHeader = [ '合約號','作番號','部門','營業員','客戶','收款階段名稱','應收日期','金額','已收金額','催收金額','催收次數' ]; // file_put_contents('account-receivable.txt', json_encode($Bill, JSON_UNESCAPED_UNICODE)); $sheet->fromArray($colomnHeader, NULL, 'A2'); $rowIndex = 3; foreach ($Bill as $key => $value) { $sheet->fromArray($value, NULL, 'A' . $rowIndex); $column = [ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H','I','J','K' ]; $rowIndex++; } $writer = new Xlsx($spreadsheet); $excelFileName = 'account-receivable-renovate.xlsx'; } $writer->save($excelFileName); echo $excelFileName; ?>