PHP导出Execel数据进行下载
文件名称:save_execel.php
<?php
require_once 'SqlHelper.class.php';
$date1=$_GET['date1'];
$date2=$_GET['date2'];
$sqlHelper = new SqlHelper();
$sql="select * from gasdata where date between '{$date1}' and '{$date2}'";
$arr=$sqlHelper->execute_dql2($sql);
header('Access-Control-Allow-Origin:*');//允许所有来源访问
$headArr=array("DATE","LNG","GAS"); //表头数据数组
$data=$arr; //表格数据
exportToExcel("导出数据", $headArr, $data); //导出数据
/**函数定义**/
function exportToExcel($fileName , $headArr, $data){
ini_set('memory_limit','1024M'); //设置程序运行的内存
ini_set('max_execution_time',0); //设置程序的执行时间,0为无上限
ob_end_clean(); //清除内存
ob_start();
header("Content-Type: text/csv");
header("Content-Disposition:filename=".$fileName.'.csv');
$fp=fopen('php://output','w');
fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF));
fputcsv($fp,$headArr);
$index = 0;
foreach ($data as $item) {
if($index==1000){ //每次写入1000条数据清除内存
$index=0;
ob_flush();//清除内存
flush();
}
$index++;
fputcsv($fp,$item);
}
ob_flush();
flush();
ob_end_clean();
exit();
}
?>
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭