getActiveSheet(); $colomnHeader = [ '合約號','作番號', '部門', '經理', '營業員', '客戶名稱', '統一編號', '聯絡地址', '抬頭', '訂金', '訂金目前應收', '訂金已收','訂金催收','訂金符合收款條件日期','訂金催收次數', '二次款', '二次款目前應收', '二次款已收', '二次款催收','二次款符合收款條件日期','二次款催收次數', '貨抵工地款', '貨抵工地款目前應收', '貨抵工地款已收', '貨抵工地款催收','貨抵工地款符合收款條件日期','貨抵工地款催收次數', '安裝款', '安裝款目前應收', '安裝款已收', '安裝款催收','安裝款符合收款條件日期','安裝款催收次數', '試車款', '試車款目前應收', '試車款已收', '試車款催收','試車款符合收款條件日期','試車款催收次數', '官檢款', '官檢款目前應收', '官檢款已收', '官檢款催收','官檢款符合收款條件日期','官檢款催收次數', '交車款', '交車款目前應收', '交車款已收', '交車款催收','交車款符合收款條件日期','交車款催收次數', '尾款', '尾款目前應收', '尾款已收', '尾款催收','尾款符合收款條件日期','尾款催收次數', '合約總金額', '目前應收', '已開發票金額', '已收金額' ]; // $colomnHeader = [ // '合約號', '部門', '經理', '營業員', '客戶名稱', '統一編號', '聯絡地址', '抬頭', // '訂金', '訂金目前應收', '簽約最大催收次數', '簽約最小應收次數', // '二次款', '二次款目前應收', '二次款最大催收次數', '二次款最小催收次數', // '貨抵工地款', '貨抵工地款目前應收', '貨抵工地最小催收次數', '貨抵工地最小催收次數', // '安裝款', '安裝款目前應收', '安裝最大催收次數', '安裝最小催收次數', // '試車款', '試車款目前應收', '試車最大催收次數', '試車最小催收次數', // '官檢款', '官檢款目前應收', '官檢最大催收次數', '官檢最小催收次數', // '交車款', '交車款目前應收', '交車最大催收次數', '交車最小催收次數', // '尾款', '尾款目前應收', '尾款最大催收次數', '尾款最小催收次數', // '合約總金額', '目前應收', '已開發票金額', '已收金額','作番總數', '作番狀態' // ]; $sheet->fromArray($colomnHeader, NULL, 'A1'); $rowIndex = 2; 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', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS','AT' ]; foreach ($column as $col) { if ($col == 'AT') { $sheet->getStyle('AT' . $rowIndex)->getAlignment()->setWrapText(true); } else { $sheet->getColumnDimension($col)->setAutoSize(true); } } $rowIndex++; } $writer = new Xlsx($spreadsheet); $excelFileName = 'account-receivable-test.xlsx'; $writer->save($excelFileName); echo $excelFileName; ?>