php如何导出数据

php如何导出数据,第1张

php导出数据有两种方式,一种是通过封装好的phpexcel导出,一种是通过table导出数据,指定header就可以导出数据。

上面是导出到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

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11490915.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存