PHP 利用PHPExcel到处数据到Excel;还有导出数据乱码的解决方案。
相关推荐:《PHPExcel-1.8类库(值得收藏!)》
直接贴代码吧!
● PHP版本5.6.38
● MysqL版本5.0
//连接数据库$MysqL_server_name = "*.*.*.*";$MysqL_username="user";$MysqL_password="dbpasswd";$MysqL_database="test";$conn = MysqLi_connect($MysqL_server_name,$MysqL_username,$MysqL_password,$MysqL_database);// 检测连接if ($conn->connect_error) { dIE("连接失败: " . $conn->connect_error);}//设置字符集,如果不设置的话中文可能会乱码$conn->query("set names utf8");//查询数据$sql = "SELECT * FROM testdata WHERE inserttime > '2019-09-13' AND inserttime <'2019-0916'";$result = $conn->query($sql);//遍历将数据放入数组中$data =array();while ($row = $result->fetch_assoc()){ $data[] = $row;}//将查询出来的数据导入Excel中require_once('./PHPExcel/PHPExcel.PHP');// 创建Excel文件对象$objPHPExcel = new PHPExcel();// 设置文档信息,这个文档信息windows系统可以右键文件属性查看$objPHPExcel->getPropertIEs()->setCreator("wnn") ->setLastModifIEdBy("wnn") ->setTitle("原创文章链接");$objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1','文章ID') ->setCellValue('B1','标题') ->setCellValue('C1','链接') ->setCellValue('D1','作者') ->setCellValue('E1','发布时间');//设置excel表单根据内容大小变化$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setautoSize(true);$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setautoSize(true);$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setautoSize(true);$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setautoSize(true);$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setautoSize(true);//$i=1是标题行$i=2;foreach ($data as $k=>$v){ $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A'.$i,$v['ID']) ->setCellValue('B'.$i,$v['Title']) ->setCellValue('C'.$i,$v['arcurl']) ->setCellValue('D'.$i,$v['writer']) ->setCellValue('E'.$i,$v['senddate']); //给C列的文字加上链接 $objPHPExcel->getActiveSheet()->getCell('C'.$i)->getHyperlink()->setUrl($v['arcurl']); $i++;}//给C列的超链接字体颜色变成蓝色$length = count($data)+1;$objPHPExcel->getActiveSheet()->getStyle( 'C2:C'.$length)->getFont()->getcolor()->setARGB(PHPExcel_Style_color::color_BLUE);//文件名称$filename=urlencode('原创作品').'_'.date('YmdHis');//生成xls文件ob_end_clean();//清除缓冲区,避免乱码header('Content-Type: application/vnd.ms-excel');header('Content-disposition: attachment;filename="'.$filename.'.xls"');header('Cache-Control: max-age=0');$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');$objWriter->save('PHP://output');
如果导出来的Excel文字都是乱码的话,一定要在header()前面加上ob_end_clean()!
更多PHP相关知识,请访问php教程! 总结
以上是内存溢出为你收集整理的PHP利用PHPExcel导出数据到Excel全部内容,希望文章能够帮你解决PHP利用PHPExcel导出数据到Excel所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)