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.
 
 
 
 
 
 

111 lines
5.7 KiB

<?php
#error_reporting(E_ALL);
#ini_set('display_errors', "On");
ob_start();
$user_id = '73376';
require_once "../database.php";
/**
*/
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// include "header.php";
// 载入db.php来连结资料库
require_once "../database.php";
require_once '../PHPExcel/PHPExcel.php';
require_once '../PHPExcel/IOFactory.php';
//$target_dir = "../inv-uploads/";
$target_file = 'data_collection_merge_template.xlsx';
$EXTENSION = pathinfo($target_file, PATHINFO_EXTENSION);
if ($EXTENSION == 'xls') {
$objReader = PHPExcel_IOFactory::createReader('Excel5'); //支持xls
} else {
$objReader = PHPExcel_IOFactory::createReader('Excel2007'); //支持xlsx是
}
$objPHPExcel = $objReader->load($target_file); //读取上传到服务器的文件
$sheet = $objPHPExcel->getSheet(0); //拿到第一个sheet数据
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数
$highestColumn = PHPExcel_Cell::columnIndexFromString($highestColumn); // 转换字母为对应的统计数字;
$excelArray = array();
$data = [];
$data['yyyymm'] = $_POST['yyyymm'];
$i = 2;
$sql_get = "select *From ec_purchase_order where yyyymm='" . $data['yyyymm'] . "' ";
$res_get = mysqli_fetch_all(mysqli_query($link, $sql_get), MYSQLI_ASSOC);
#excel 第一行 从B3-H3
foreach ($res_get as $key => $val) {
// var_dump( $key);
// $_val = $sheet->getCellByColumnAndRow(0, $i++)->getCalculatedValue();
//if ($_val == "") return;
// $value = $sheet->getCell($key)->getValue();
// var_dump( $val);
# 1 銀行編碼
$sheet->setCellValueExplicit('A' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#2 繳款帳號
$sheet->setCellValueExplicit('B' . ($key + 2), date("Y-m-d"), \PHPExcel_Cell_DataType::TYPE_STRING);
#3 客戶屬性
$sheet->setCellValueExplicit('C' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#4 幣別
$sheet->setCellValueExplicit('D' . ($key + 2), 'TWD', \PHPExcel_Cell_DataType::TYPE_STRING);
#5 客戶代號
$sheet->setCellValueExplicit('E' . ($key + 2), substr($val['customerid'], 1), \PHPExcel_Cell_DataType::TYPE_STRING);
# 6客戶名稱
$sheet->setCellValueExplicit('F' . ($key + 2), $val['customer_name'], \PHPExcel_Cell_DataType::TYPE_STRING);
# 7 繳費說明1
$sheet->setCellValueExplicit('G' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
# 8 繳費說明2
$sheet->setCellValueExplicit('H' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#9 繳費說明3
$sheet->setCellValueExplicit('I' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#10 繳費說明3
$sheet->setCellValueExplicit('J' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#11 繳費說明4
$sheet->setCellValueExplicit('K' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#12繳費說明5
$sheet->setCellValueExplicit('L' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#13 繳款截止日
$sheet->setCellValueExplicit('M' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#14 期別說明
$sheet->setCellValueExplicit('N' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#15 繳費通路別-銀行
$sheet->setCellValueExplicit('O' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#16 繳費通路別-郵局
$sheet->setCellValueExplicit('P' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#17 應繳總額
$sheet->setCellValueExplicit('Q' . ($key + 2), $val['summary_price'], \PHPExcel_Cell_DataType::TYPE_STRING);
#18 保留欄1
$sheet->setCellValueExplicit('R' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#19 保留欄2
$sheet->setCellValueExplicit('S' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#20 收費項目
$sheet->setCellValueExplicit('T' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#21 應繳金額
$sheet->setCellValueExplicit('U' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#22 說明
$sheet->setCellValueExplicit('V' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#23 收費項目
$sheet->setCellValueExplicit('W' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#24 應繳金額
$sheet->setCellValueExplicit('X' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#25 說明
$sheet->setCellValueExplicit('Y' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
#26 結尾符號
$sheet->setCellValueExplicit('Z' . ($key + 2), '', \PHPExcel_Cell_DataType::TYPE_STRING);
// $data[$excel_field_mapping[$key]] = (empty($value) || $value == '') ? 'null' : "'" . $value . "'"; //读取excel数据到数组
}
//页面导出
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
//设置下载的文件名称
header('Content-Disposition: attachment;filename=' . urlencode('代收資料匯入檔') . '.xlsx');
header('Cache-Control: max-age=0');
header('Cache-Control: max-age=1');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: cache, must-revalidate');
header('Pragma: public');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
}