修复下载excel报表会自动生成文件的问题

Change-Id: I30c27eaede5500e55c4a63edd6c654dbce9603ce
This commit is contained in:
vguanyiwgd 2024-07-24 09:45:37 +08:00
parent 81bfc73956
commit 215ece040c
7 changed files with 60 additions and 15 deletions

View File

@ -86,10 +86,11 @@ class Statistics extends CI_Controller
mkdir($path, 0777, true);
}
$fn = $path . "/" . $uniStr . ".xls";
getExcel($title, $width, $list, "$fn");
$truePath = base_url($fn);
$data = array('success' => true, 'msg' => $truePath);
echo json_encode($data);
// getExcel($title, $width, $list, "$fn");
// $truePath = base_url($fn);
// $data = array('success' => true, 'msg' => $truePath);
// echo json_encode($data);
getExcelToCsv($title, $width, $list, $uniStr. '.csv');
}
// 每日领餐情况

View File

@ -79,6 +79,37 @@ function getExcel($titles, $widths, $list, $fn, $conv = false)
$objWriter->save($fn);
}
function getExcelToCsv($tileArray = [], $width, $dataArray = [], $file_name ){
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename='.$file_name );
header('Cache-Control: max-age=0');
$file = fopen('php://output',"a");
$limit = 1000;
$calc = 0;
$tit = [];
foreach ($tileArray as $v){
$tit[] = mb_convert_encoding($v, 'GBK', 'UTF-8');
}
fputcsv($file,$tit);
foreach ($dataArray as $v){
$calc++;
if($limit == $calc){
ob_flush();
flush();
$calc = 0;
}
foreach($v as $t){
$tarr[] = mb_convert_encoding($t, 'GBK', 'UTF-8');
}
fputcsv($file,$tarr);
unset($tarr);
}
unset($list);
fclose($file);
exit();
}
function readexcel( $filePath) {
$chars = $GLOBALS['chars'];

View File

@ -18,7 +18,7 @@ class Statistics_model extends CI_Model
if (!$param['start']) {
$param['start'] = date("Y-m-d");
$whereSql .= "AND b.dc_date = '" + $param['start'] + "'";
$whereSql .= "AND b.dc_date = '" . $param['start'] . "'";
} else {
if (!$param['end']) $param['end'] = date("Y-m-d");
$whereSql .= " AND b.dc_date between '" . $param['start'] . "' and '" . $param['end'] . "' ";

View File

@ -70,8 +70,8 @@ $asset['jsList'] = isset($asset['jsList'])? $asset['jsList']:array();
<!-- jQuery 2.1.4 -->
<script src="<?=base_url('assets/plugins/jQuery/jQuery-2.1.4.min.js')?>"></script>
<!-- jQuery 2.2.4 -->
<script src="<?=base_url('assets/plugins/jQuery/jQuery-2.2.4.min.js')?>"></script>
<!-- Bootstrap 3.3.5 -->
<script src="<?=base_url('assets/plugins/bootstrap/js/bootstrap.min.js')?>"></script>
<script src="<?=base_url('assets/zui/js/zui.min.js')?>"></script>

View File

@ -155,13 +155,22 @@ $mealTypeList = isset($mealTypeList)? $mealTypeList : array();
url: '<?=site_url('statistics/getExcelByOrderCount')?>',
data: {whereSql: whereSql,start: start,end: end,statistics_type: statistics_type},
type: 'post',
dataType: 'json',
xhrFields: {
responseType: "blob"
},
success: function (data) {
if(data.success){
location.href = data.msg;
} else {
$.zui.messager.show(data.msg);
}
console.log(data)
var url = URL.createObjectURL(data);
var a = document.createElement("a");
a.href = url;
a.download = "统计管理.csv";
a.click();
URL.revokeObjectURL(url);
// if(data.success){
// location.href = data.msg;
// } else {
// $.zui.messager.show(data.msg);
// }
}
});
}

View File

@ -37,6 +37,6 @@ $asset['jsList'] = isset($asset['jsList'])? $asset['jsList']:array();
<script src="<?=base_url('assets/plugins/html5shiv.min.js')?>"></script>
<script src="<?=base_url('assets/plugins/respond.min.js')?>"></script>
<![endif]-->
<!-- jQuery 2.1.4 -->
<script src="<?=base_url('assets/plugins/jQuery/jQuery-2.1.4.min.js')?>"></script>
<!-- jQuery 2.2.4 -->
<script src="<?=base_url('assets/plugins/jQuery/jQuery-2.2.4.min.js')?>"></script>
</head>

File diff suppressed because one or more lines are too long