PHP如何将查询出来的数据导出成excel表格(最好做一个按钮)

PHP如何将查询出来的数据导出成excel表格(最好做一个按钮),第1张

如果将数据导出成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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/10180907.html

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

发表评论

登录后才能评论

评论列表(0条)

保存