如果将数据导出成excel,需要用到PHPExcel,这个可以百度一下。
要实现这个功能,代码是比较多的,下面是我的代码,肯定不能兼容你的,需要修改。
if ($_POST["outputExcelBtn"]){define('EOL',(PHP_SAPI == 'cli') PHP_EOL : '<br />');
require_once 'PHPExcel/Classes/PHPExcelphp';
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator("CG")
->setLastModifiedBy("CG")
->setTitle("CG")
->setSubject("CG")
->setDescription("CG")
->setKeywords("CG")
->setCategory("CG");
$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial')
->setSize(10);
$objPHPExcel->getActiveSheet()->setCellValue('A1', '编号')
->setCellValue('B1', '产品名字')
->setCellValue('C1', '产品属性')
->setCellValue('D1', '添加日期')
;
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(30);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15);
$i=2;
while ($f=$rs->movenext()){//这里是查询数据的代码,请用你自己的(本程序由[且听风吟福利吧3tiicom]提供)
$objPHPExcel->getActiveSheet()->setCellValue('A'$i, $f["p_num"])
->setCellValue('B'$i, $f["p_name"])
->setCellValue('C'$i, $f["p_pra"])
->setCellValue('D'$i, date('Y-m-d',$f["p_date"]))
;
$objPHPExcel->getActiveSheet()->getStyle('A'$i':D'$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$i++;
}
$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);//上下对齐
$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //左右对齐
$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFill()->getStartColor()->setARGB('FF808080');
$objPHPExcel->getActiveSheet()->setTitle('产品表');//重命名工作表
$objPHPExcel->setActiveSheetIndex(0);//设置打开excel时显示的工作表
$callStartTime = microtime(true);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$filename='PDT'(date('Y-m-d'));
$objWriter->save(PATH_CREATEiconv('utf-8','gb2312',$filename)'xls');
$objPHPExcel = PHPExcel_IOFactory::load(PATH_CREATEiconv('utf-8','gb2312',$filename)'xls');
$notice='导出Excel成功,文件名为<span class="red">'$filename'xls</span>,<a href="'$filename'xls">点此下载</a>';
}
因为你说的需要有一个按钮触发事件,所以outputExcelBtn就是按钮名字
<input type="submit" name="outputExcelBtn" value="导出excel" />网上有很多人问这个的,回答的人很少,要么是自己解决了不想让其他人知道,要么是不能用,这个是在一直用的,没问题。
简介:可以利用工具软件导出成Excel文件
工具原料:Apache+php+mysql网站运行环境,phpMyAdmin v462
1、下载phpMyAdmin v462软件后解压放在网站根目录
2、用root用户和密码登入phpMyAdmin,在左边栏点击要导出的数据库,然后点击要导出的数据表,最后点击导出如图所示。
3、进入导出页面后如图按图中红色标注的 *** 作
4、另外还要注意选择的是要保存的文件的字符集:如图所示才能保证保存出来的文件不会出现乱码
5、最后点击执行按钮,OK
PHP从数据库分多次读取100万行记录,和分多次将100万行写入文本文件都没问题
Excel可以支持100万行记录,Excel 2003最大支持65536行,从2007版开始支持104万行了,目前2007的盗版应该比较普及了-_-! 问清楚你的客户是什么版本。
你要导出excel的理由是非常充分和正确的,应该继续坚持。业务人员最熟悉的就是Excel,实在不熟悉现学现用也比别的快。只是要注意,当数据量达到10万行这个级别时,Excel的公式填充将会非常非常慢,如果再有LOOKUP()公式,基本上十分钟内处理CPU满载进程管理器杀不掉的状态,这时候其实xampp + phpmyadmin是一个易用性和性能都最平衡的选择
PHPExcel输出的是Excel XML格式,有个XML头和尾,中间是数据Body,需要将100万行都赋值给一个数组才可以调用PHPExcel->write(),这容易导致PHP执行超时或者内存超限,你不妨调整一下phpini配置,把超时时间和内存限制都改到很大
如果是输出csv格式,那就太简单了,你的问题可能是没给字段内容加引号,加上引号再调用fputcsv试试?其实fputcsv做的事情特别简单,你甚至可以不管它,自己把CSV文件的每一行拼接好了之后用file_put_contents写入 希望能帮到你,我还要抓紧时间自己在后盾人自己学习呢,一起加油吧(「・ω・)「嘿
以上就是关于PHP如何将查询出来的数据导出成excel表格(最好做一个按钮)全部的内容,包括:PHP如何将查询出来的数据导出成excel表格(最好做一个按钮)、php怎么导出大量数据的Excel、怎么将php数据导出excel等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)