上面是导出到excel中的方法,当然你也可以导出数据直接到数据库,或者你也可以到处数据到文件中,这个主要看你导出数据的格式要求。
看你截图显示的是数组格式,可以通过循环遍历然后导入到响应的文件中。
(一)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:attachmentfilename="数据导出_词云图.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 = "姓名,性别,年龄\n"
$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']."\n"//用引文逗号分开
}
$filename = date('Ymd').'.csv'//设置文件名
export_csv($filename,$str)//导出
要将数据导出到本地即下载,需要修改header信息,代码如下:
function export_csv($filename,$data) {
header("Content-type:text/csv")
header("Content-Disposition:attachmentfilename=".$filename)
header('Cache-Control:must-revalidate,post-check=0,pre-check=0')
header('Expires:0')
header('Pragma:public')
echo $data
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)