PHP文件导出-Excel和csv
(一)phpexcel文件导出:
步骤1,引入文件require APPPATH."/libraries/PHPExcel.php";
步骤2, 实例化PHPEXCEL对象 $objPHPExcel=new PHPExcel();
步骤3, 设置表头 $column = array("A","B","C"); $line = array("词语","频次","词性");
//填充表头信息
for($i = 0;$i < count($tableheader_all);$i++) {
$objPHPExcel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");
//上一行中"$letter[$i]1"表示第“1”行第“$i”列
}
步骤4, 填充数据
for ($i = 2;$i <= count($data) + 1;$i++) {//因为内容是从第二行开始的,所以i=2表示从第二行开始填充数据
$j = 0;
foreach ($tmp as $key=>$val ){
$objPHPExcel->getActiveSheet()->setCellValue("$letter[$j]$i",$data[$i-2][$val]); //数据是从第一条开始但是i的初值是2所以想从第一条开始应该是$data[$i-2]开始
$j++;
}
}
步骤5,写进excel中并输出
$write = new PHPExcel_Writer_Excel5($objPHPExcel);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");;
header("Content-Disposition:attachment;filename="数据导出_词云图.xls"");
header("Content-Transfer-Encoding:binary");
$write->save("php://output");
(一)CSV文件导出:
csv文件导出最令人头疼的问题就是编码问题,现在分享一下我的经验
首先看服务器是linux的还是windows的 如果是windows的服务器那么编码问题只能借助于mb_convert_encoding()或者是iconv两个函数相互转换中文编码
如果服务器是linux的 那么很简单 utf-8: setlocale(LC_ALL, ‘en_US.UTF-8′); 简体中文:setlocale(LC_ALL, ‘zh_CN");
下面来说csv导出步骤:
$result = mysql_query("select * from student order by id asc");
$str = "姓名,性别,年龄
";
$str = iconv("utf-8","gb2312",$str);
while($row=mysql_fetch_array($result)){
$name = iconv("utf-8","gb2312",$row["name"]); //中文转码
$sex = iconv("utf-8","gb2312",$row["sex"]);
$str .= $name.",".$sex.",".$row["age"]."
"; //用引文逗号分开
}
$filename = date("Ymd").".csv"; //设置文件名
export_csv($filename,$str); //导出
要将数据导出到本地即下载,需要修改header信息,代码如下:
function export_csv($filename,$data) {
header("Content-type:text/csv");
header("Content-Disposition:attachment;filename=".$filename);
header("Cache-Control:must-revalidate,post-check=0,pre-check=0");
header("Expires:0");
header("Pragma:public");
echo $data;
}
- 上一篇: javaBean和EL表达式
- 下一篇: 扫码登录操作过程