thinkphp调用phpexcel导出excel文件到本地的例子

记得在以前写了个导出excel结果实现了导出excel但是导出来的excel的格式非常的难看没有办法进行美化的。最原始的导出excel的办法就是利用header()函数进行文件。其实phpexcel也是利用header()函数进行导出的。只不过是多了美国的过程而以。不罗嗦了贴出代码。

html部分

 代码如下 复制代码

    <div><a href="/esoxue.php/Article/download/"/>导出Excel</a></div>

执行代码部分

 代码如下 复制代码

 

    public function download()

    {

    import("ORG.Excel.PHPExcel");

    $objPHPExcel = new PHPExcel();

    $objPHPExcel->getProperties()->setCreator("Maarten Balliauw")

    ->setLastModifiedBy("Maarten Balliauw")

    ->setTitle("Office 2007 XLSX Test Document")

    ->setSubject("Office 2007 XLSX Test Document")

    ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")

    ->setKeywords("office 2007 openxml php")

    ->setCategory("Test result file");

    $list=M("Test");

    $rs=$list->select();

    $i=2;

    $objPHPExcel->setActiveSheetIndex(0)

                ->setCellValue('A1', '姓名')

                ->setCellValue('B1', '年龄')

                ->setCellValue('C1', '性别')

                ->setCellValue('D1', '身份证号码')

                ->setCellValue('E1', '国籍')

                ->setCellValue('F1', '民族')

                ->setCellValue('G1', '详细地址');

    $objPHPExcel->setActiveSheetIndex(0);

    foreach($rs as $k=>$v){

    $objPHPExcel->setActiveSheetIndex(0)

    ->setCellValue('A'.$i, $v['name'])

                ->setCellValue('B'.$i, $v['old'])

                ->setCellValue('C'.$i, $v['sex'])

                ->setCellValue('D'.$i, $v['sid'])

                ->setCellValue('E'.$i, $v['guoji'])

                ->setCellValue('F'.$i, $v['minzu'])

                ->setCellValue('G'.$i, $v['address']);

    $i++;

    }

    $objPHPExcel->getActiveSheet()->setTitle('student');//设置sheet标签的名称

    $objPHPExcel->setActiveSheetIndex(0);

    ob_end_clean();  //清空缓存 

    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:attachment;filename=11.xls');//设置文件的名称

    header("Content-Transfer-Encoding:binary");

    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

    $objWriter->save('php://output');

    exit;

    }

效果图

 

时间: 2024-10-06 04:05:56

thinkphp调用phpexcel导出excel文件到本地的例子的相关文章

ThinkPHP中用PHPExcel导出excel文件数据例子

下面给出步骤: 1.准备:自己制作一个生成的excel参考的模板文件,template.xls,我的模板为 在这个模板里面,你想在哪个位置显示什么样式就设置什么样式,到时候相对应位置 查出来的数据就会自动套用样式,比如说标题大小,背景颜色,用函数等,都会自动套用,就不用在后台代码控制那么麻烦了,这个也是选择用模板生成excel原因. 附: 1.某列用条件格式等高级一点的操作应该也是可以的,没有试. 2.大家要注意一点,我要输出的数据是从第4行开始填充的,但是最好留出一行空的,比如说第5行,并不仅

ThinkPHP基于PHPExcel导入Excel文件的方法_php实例

本文实例讲述了ThinkPHP基于PHPExcel导入Excel文件的方法.分享给大家供大家参考.具体方法如下: 主要知识点,用PHPExcel导入Excel数据经过这几天测试还是可以,xls,xlsx都可以获取Excel的数据. 下载地址:http://phpexcel.codeplex.com/ 开发思路: 1.先把Excel文件上传到服务器 2.获取服务器Excel文件内容 3.写入数据库 一.上传Excel文件,使用PHP里自带的上传方法 "\Think\Upload();",

phpexcel导出excel文件输出求和问题

问题描述 phpexcel导出excel文件输出求和问题 phpexce导出excel文件用求和公式->setCellValue('E2', "=SUM(D4:D100)")输出到E2单元格,我想把这个求和结果变成数值,非公式的,怎么改

PHPExcel导出Excel文件时出现错误的解决办法

PHPExcel是PHP中功能最强大的导入.导出.操作Microsoft Excel的开源项目.但是它体系复杂,有时会让人难以掌控. PHPExcel导出Excel表的使用方法网上已经很多了,本文就不赘述.不过,在使用过程中,我却发现了一个莫名其妙的问题:那就是使用PHPExcel自动导出excel的文件有时候能够正常导出并打开,有时候生成的excel文件却无法打开,Excel2007提示"发现无法读取的内容". 使用文本编辑器打开生成的Excel文件,发现一行提示"Fata

Codeigniter利用PHPExcel导出Excel文件

1. 准备工作 下载PHPExcel:http://phpexcel.codeplex.com 这是个强大的Excel库,这里只演示导出Excel文件的功能,其中的大部分功能可能都用不着. 2. 安装PHPExcel到Codeigniter 1) 解压压缩包里的Classes文件夹中的内容到applicationlibraries目录下,目录结构如下:   -- applicationlibrariesPHPExcel.php   -- applicationlibrariesPHPExcel

ThinkPHP中用PHPExcel导入导出Excel文件

需要的PHPExcel类可以到网上下载然后引入到ThinkPHP框架中使用即可 本例中PHPExcel文件的路径位于/ThinkPHP/Extend/Vendor/Excel/PHPExcel 具体代码如下:  代码如下 复制代码 class ExcelAction extends Action { //导出Excel文件 public function index(){ header("Content-Typ:text/html;charset=utf-8"); vendor('Ex

asp.net导出excel文件的程序调试没问题但布置时出现问题

asp.net布置导出excel文件的程序,报80070005 8000401A的错误解决方法 .NET导出Excel遇到的80070005错误的解决方法: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005基本上.net导出excel文件,都需要如此配置一下,不配置有的时候没错,而配置后基本应该不会出错. 具体配置方法如下:  1:在服务器上安装office的Excel软件. 

PHP中利用PHPExcel导出Excel示例

PHPExcel是个很强大的PHP操作Excel的类库,但是对于简单的将数据用PHP 导出 Excel来说这有点显得复杂,在google code上有一个PHP 导出 Excel的类,可以简单调用,很方便.  代码如下 复制代码 <?php // load library require 'php-excel.class.php'; // create a simple 2-dimensional array $data = array(         1 => array ('Name',

PHP导入和导出Excel文件

一.PHP导出Excel文件 1:第一推荐无比风骚的PHPExcel,官方网站: http://www.codeplex.com/PHPExcel导入导出都成,可以导出office2007格式,同时兼容2003 2.使用pear的Spreadsheet_Excel_Writer类下载地址: http://pear.php.net/package/Spreadsheet_Excel_Writer此类依赖于OLE,下载地址:http://pear.php.net/package/OLE需要注意的是导