0

0

小白 关于使用PHPExcel进行导出功能的简述

php中文网

php中文网

发布时间:2016-08-04 08:56:22

|

1586人浏览过

|

来源于php中文网

原创

我之前不会导出的时候,各种找DEMO啊,案例啊,然后结果还是没实现功能,一方面可能我太笨,另一方面,就是,感觉对于小白,估计要做到(诶,你这个复制代码到这里,这个文件放在这里,这里改一下就可以了)这样的地步,可能大神在发帖的时候无意识的忽略了一点小细节(而这恰恰确实是现在快餐式的程序员培训出来的弱项,当然也包括我),所以,我按我自己小白式的理解来写这个贴,但愿其他小白万一能看到这个,也能应应急,毕竟,我以前只会套用,现在,再看多少有些懂了,小白们还是需要时间积累和代码积累的,加油!
既然是PHPExcel 导出(我现在只先说导出),当然需要这个文件了,拿去(http://phpexcel.codeplex.com/
下载好后,放在哪里呢?一般TP会有放在第三方类库(指除了 ThinkPHP 框架、应用项目类库之外的其他类库,一般由第三方系统或产品提供,如 Smarty、Zend 等系统的类库等...)一般在ThinkPHP/Library/Vender放在这下面.
然后是要复制下面这段代码前后端文件同级下的Common下的function.php小白 关于使用PHPExcel进行导出功能的简述/**
 * 导出到EXCEL 
 * @param type $expTitle
 * @param type $expCellName
 * @param type $expTableData
 */
function exportExcel($expTitle, $expCellName, $expTableData) {
    $xlsTitle = iconv('utf-8', 'gb2312', $expTitle); //文件名称
    $fileName = $expTitle . date('_YmdHis'); //or $xlsTitle 文件名称可根据自己情况设定
    $cellNum = count($expCellName);
    $dataNum = count($expTableData);

    vendor("PHPExcel");

    $objPHPExcel = new \PHPExcel();
    $cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ');
//  $objPHPExcel->getActiveSheet(0)->mergeCells('A1:' . $cellName[$cellNum - 1] . '1'); //合并单元格
    for ($i = 0; $i          $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i] . '1', $expCellName[$i][1]);
    }
    // Miscellaneous glyphs, UTF-8
    for ($i = 0; $i          for ($j = 0; $j              $objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j] . ($i + 2), $expTableData[$i][$expCellName[$j][0]]);
        }
    }

    header('pragma:public');
    header('Content-type:application/vnd.ms-excel;charset=utf-8;name="' . $xlsTitle . '.xls"');
    header("Content-Disposition:attachment;filename=$fileName.xls"); //attachment新窗口打印inline本窗口打印
    $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    $objWriter->save('php://output');
    exit;
}
vendor("PHPExcel");上面代码的这个,如果你文件不是放这里,记得要改。
这里补充一下,就是需要导出加自定义样式(比如导出文本带点颜色标记之类的)就要在这里面添加了,这里有注释掉的一段代码,就像这样(这个也不用自己写?网址给你,你要的都在这里。http://blog.csdn.net/diandian_520/article/details/7827038,记得注意换哪几行几列)
当然,这个是公用的导出函数,所以,如果要导出几个另类的表格,就要再复制上面的代码,改下名称再调用就行了。
接下来是C的代码/*
     * 测试
     */
    public function text(){
//获取所需数据
$res=M('order')->select();
$export=I('export');//触发导出指令的值
        if($export==1){                          
                         $xlsName="订单列表";//表名
                         $xlsCell  = array( //这里是写字段名称的
                         array('ddh','订单号') ,
                         array('xdsj','下单时间') ,
                         array('dgje','订购金额') , 
                         array('yhje','优惠金额') ,
                         );
                    $xlsData=array(); 
                      foreach ($res as $key=>$val){
                        array_push($xlsData, array(//这里的需要导出的内容,要注意键名跟上面的字段键名要一致
                            'ddh'=>" ".$val[ordersn],
                            'xdsj'=>date('Y-m-d H:i:s',$val[createtime]),
                            'dgje'=>$val[fee],
                            'yhje'=>$val[discountprice],
                            ));
                  }                                       
                exportExcel($xlsName,$xlsCell,$xlsData);//这里就是调用写在function里的函数了。
                die(); 
               }
OK,大功告成,赶紧试一下吧!!!
(感觉漏了点什么,有大神发现问题或者有更好的方法,欢迎补充,调教下我们这群小白。谢谢。。。)

WPS零基础入门到精通全套教程!
WPS零基础入门到精通全套教程!

全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

57

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

57

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

237

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

393

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

17

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

103

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

73

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

81

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

70

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 3万人学习

Kotlin 教程
Kotlin 教程

共23课时 | 2.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号