You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.3 KiB
63 lines
2.3 KiB
<?php
|
|
include "./header.php";
|
|
|
|
require_once dirname(__DIR__) . '/common/composer/vendor/autoload.php';
|
|
|
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
|
|
|
header('Content-Type: application/json');
|
|
$type = $_GET['type'];
|
|
$array_data = array();
|
|
$Bill = json_decode(file_get_contents("php://input"), true);
|
|
$spreadsheet = new Spreadsheet();
|
|
$sheet = $spreadsheet->getActiveSheet();
|
|
// file_put_contents('account-receivable.txt', json_encode($Bill));
|
|
if ($type == 'repair') {
|
|
$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'
|
|
];
|
|
foreach ($column as $col) {
|
|
$sheet->getColumnDimension($col)->setAutoSize(true);
|
|
}
|
|
$rowIndex++;
|
|
}
|
|
$writer = new Xlsx($spreadsheet);
|
|
$excelFileName = 'account-receivable-repair.xlsx';
|
|
} else {
|
|
$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'
|
|
];
|
|
foreach ($column as $col) {
|
|
$sheet->getColumnDimension($col)->setAutoSize(true);
|
|
}
|
|
$rowIndex++;
|
|
}
|
|
$writer = new Xlsx($spreadsheet);
|
|
$excelFileName = 'account-receivable-renovate.xlsx';
|
|
}
|
|
$writer->save($excelFileName);
|
|
|
|
echo $excelFileName;
|
|
|