基于YII框架的PHPExcel导出

 public function actionOutexceInventoryList(){        ob_end_clean();        ob_start();

        /** PHPExcel */        //Yii::import(‘application.vendors.*‘);        include_once(dirname(dirname(__FILE__)).‘/extensions/PHPExcel.php‘);        include_once(dirname(dirname(__FILE__)).‘/extensions/PHPExcel/Writer/Excel2007.php‘);        $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");

      //  $objPHPExcel->setActiveSheetIndex(0)首行字段名称         $objPHPExcel->getActiveSheet()->setCellValue(‘A1‘, ‘院内编码‘);          $objPHPExcel->getActiveSheet()->setCellValue(‘B1‘, ‘名称‘);           $objPHPExcel->getActiveSheet() ->setCellValue(‘C1‘, ‘厂商‘);            $objPHPExcel->getActiveSheet() ->setCellValue(‘D1‘, ‘规格‘);           $objPHPExcel->getActiveSheet()  ->setCellValue(‘E1‘, ‘使用科室‘);           $objPHPExcel->getActiveSheet()  ->setCellValue(‘F1‘, ‘启用日期‘);            $objPHPExcel->getActiveSheet() ->setCellValue(‘G1‘, ‘单价‘);            $objPHPExcel->getActiveSheet() ->setCellValue(‘H1‘, ‘资金来源‘);            $objPHPExcel->getActiveSheet() ->setCellValue(‘I1‘, ‘盘点状态‘);        //   $objPHPExcel->getActiveSheet()  ->setCellValue(‘J1‘, ‘存放地点‘);        //   $objPHPExcel->getActiveSheet()  ->setCellValue(‘K1‘, ‘盘点结果‘);        //居中,颜色        $objPHPExcel->setActiveSheetIndex(0)->getStyle(‘A1:I1‘)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);        $objPHPExcel->setActiveSheetIndex(0)->getStyle(‘A1:I1‘)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_BLUE);

        $param = array();        $stocks_id = Yii::app()->request->getParam(‘stocks_id‘);        $criteria = new CDbCriteria();        $criteria->addCondition( ‘stocks_id=‘.$stocks_id);        $param[‘stockList‘] = Stocksproduct::model()->findAll($criteria);        $param[‘stocks_id‘] = $stocks_id;        foreach( $param[‘stockList‘] as $key=>$val ){            $key =$key+2;            if($val[‘status‘]==1){                $status = "未盘点";            }elseif( $val[‘status‘]==2 ){                $status = "盘亏";            }elseif( $val[‘status‘]==3 ){                $status = "盘实";            }elseif( $val[‘status‘]==4 ){                $status = "盘盈";            }            $card = FormatHelper::getCardInfo( $val[‘cardId‘] );            //设置单元格格式为文本格式            $objPHPExcel->getActiveSheet()->setCellValueExplicit("A$key", $card->assetsId,PHPExcel_Cell_DataType::TYPE_STRING);            $objPHPExcel->getActiveSheet()->setCellValueExplicit("B$key", $card->assetsName,PHPExcel_Cell_DataType::TYPE_STRING);            $objPHPExcel->getActiveSheet()->setCellValueExplicit("C$key", $card->manufacturer,PHPExcel_Cell_DataType::TYPE_STRING);            $objPHPExcel->getActiveSheet()->setCellValueExplicit("D$key", $card->modelSpecifications,PHPExcel_Cell_DataType::TYPE_STRING);            $objPHPExcel->getActiveSheet()->setCellValueExplicit("E$key", $card->name_useOffice,PHPExcel_Cell_DataType::TYPE_STRING);            $objPHPExcel->getActiveSheet()->setCellValueExplicit("F$key", $card->useDate,PHPExcel_Cell_DataType::TYPE_STRING);            $objPHPExcel->getActiveSheet()->setCellValueExplicit("G$key", $card->assetValue,PHPExcel_Cell_DataType::TYPE_STRING);            $objPHPExcel->getActiveSheet()->setCellValueExplicit("H$key", $card->suggest_fundingSources,PHPExcel_Cell_DataType::TYPE_STRING);            $objPHPExcel->getActiveSheet()->setCellValueExplicit("I$key", $status,PHPExcel_Cell_DataType::TYPE_STRING);           // $objPHPExcel->getActiveSheet()->setCellValueExplicit("J$key", $card->storageLocation,PHPExcel_Cell_DataType::TYPE_STRING);          //  $objPHPExcel->getActiveSheet()->setCellValueExplicit("k$key",  $status ,PHPExcel_Cell_DataType::TYPE_STRING);

        }

        $K ="I".$key;        //设置从第二行起全部左对齐         $objPHPExcel->setActiveSheetIndex(0)->getStyle("A2:$K")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);        //设置宽度        $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(‘A‘)->setWidth(15);        $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(‘B‘)->setWidth(15);        $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(‘C‘)->setWidth(25);        $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(‘D‘)->setWidth(15);        $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(‘E‘)->setWidth(15);        $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(‘F‘)->setWidth(10);        $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(‘G‘)->setWidth(20);        $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(‘H‘)->setWidth(20);        $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(‘I‘)->setWidth(20);      //  $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(‘J‘)->setWidth(25);      //  $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(‘K‘)->setWidth(10);

        //设置边框       // $objPHPExcel->getActiveSheet()->getStyle("A1:$K" )->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);       // $objPHPExcel->getActiveSheet()->getStyle("A1:$K" )->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);       // $objPHPExcel->getActiveSheet()->getStyle("A1:$K" )->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);        //$objPHPExcel->getActiveSheet()->getStyle("A1:$K" )->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

        $objPHPExcel->getActiveSheet()->setTitle(‘盘点单‘);        $objPHPExcel->setActiveSheetIndex(0);//          $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel2007‘);//          $objWriter->save(str_replace(‘.php‘, ‘.xlsx‘, __FILE__));        $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);

        header("Pragma: public");        header("Expires: 0");        //header(‘Content-Type: application/vnd.ms-excel;charset=utf8‘);        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");        $fireName = $stocks_id.‘-盘点单‘;        header("Content-Disposition:attachment;filename=$fireName.xls");        header("Content-Transfer-Encoding:binary");        $objWriter->save("php://output");

        Yii::app()->end();        spl_autoload_register(array(‘YiiBase‘,‘autoload‘));    }
时间: 2024-11-04 16:30:28

基于YII框架的PHPExcel导出的相关文章

基于ThinkPHP开发的PHPExcel导出

首先我们需要去PHPExcel官网下载开源包 下载好了以后只需要把里面的classes文件夹解压出来就可以用了! 在ThinkPHP中,文件的命名空间还是很重要的,我试着按照其他的第三方命名写namespace但是还是不行,最后我是这么做的 第一步:重命名classes为Excel,并且将文件夹内的PHPExcel.php重命名成PHPExcel.class.php 然后放入到目录文件 然后在控制层导入,直接use的话是会报错找不到类文件的...也许是内核里面的路由问题,于是我是在实例化的时候写

Yii框架官方教程增补篇1——开始:Yii是什么

Yii 是一个基于组件的高性能 PHP 框架,用于快速开发大型 Web 应用.它使Web开发中的可复用度最大化,可以显著提高你的Web应用开发速度.Yii 这个名字(读作易(Yee) 或 [ji:])是"Yes It Is!"的缩写.这往往是对于一些经常被问到的问题的最准确的答案: Yii快不快?安全吗?专业吗?是否适用于我的下一个项目?Yes, it is! Yii框架作者薛强同时也是Prado Framework的作者,在编写Yii框架的过程中,作者最大化借鉴了Prado,Ruby

Yii框架中使用PHPExcel导出Excel文件

最近在研究PHP的Yii框架,很喜欢,碰到导出Excel的问题,研究了一下,就有了下面的方法: 1.首先在config\main.php中添加对PHPExcel的引用,我的方式是这样: 1 2 3 4 5 6 7 8 // autoloading model and component classes     'import'=>array(                  'application.models.*',         'application.components.*',

基于SSM的POI导入导出Excel实战第一篇-SSM框架的整合

业务背景:在JavaWeb应用开发中,经常需要将应用系统中某些业务数据导出到Excel中,又或者需要将这些业务数据先收集到Excel然后一键导入到系统 业务需求:如何用Java实现导入导出Excel 需求分析:目前流行的Java导入导出Excel的框架有POI跟JXL,这两者的优缺点在这里我就不作比较了,感兴趣的童鞋可以自行搜索了解一下; 技术选型:从本文开始,我将分享一下如何基于SSM框架+POI实现Java应用导入导出Excel,数据库采用mysql5.6,应用服务器采用tomcat7 工具

使用Yii框架中遇到的三个问题

以下由我们在信易网络公司开发项目的时候终结出的一些经验 1.main.php文件中欲引入全局变量的问题 还原一下此问题:在Yii框架中,main.php一般会作为整个应用的配置文件,保存Application的各种参数,直接return数组.在使用的过程中,因为main.php文件一定会被Yii提前加载,所以将一些全局性的操作也放在了此文件,加载一些类操作啥的没有什么问题,当有一次加了一个全局变量,并且在其它地方使用global获取全局变量时,发现无论我如何努力都得到的是NULL.各种尝试后,终

HighCharts绘制JS折线图(后台传数据给前台基于JFinal框架)

/*****************************Controller(基于JFinal框架)**************/ package com.zzu.controller;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.List;import org.jfree.chart.ChartFactory;import org.jfree.chart.ChartUtilitie

YII框架分析笔记2:组件和事件行为管理

Yii是一个基于组件.用于开发大型 Web 应用的高性能 PHP 框架.CComponent几乎是所有类的基类,它控制着组件与事件的管理,其方法与属性如下,私有变量$_e数据存放事件(evnet,有些地方叫 hook),$_m数组存放行为(behavior). 组件管理 YII是一个纯oop框架,很多类中的成员变量的受保护或者私有的,CComponent中利用php中的魔术方法__get(),__set()来访问和设置属性,但这些方法的作用远不指这些.下面用__get()来说明 [php] vi

(2)从实际项目谈起,基于MEF框架的插件的总体设计

1.MEF框架简介 MEF的全称是Managed Extensibility Framework(MEF),其是.net4.0的组成部分,在3.5上也可以使用.熟悉java中的spring框架的人,对这个框架中涉及的几个概念应该会比较容易理解. 这里我先把我两年前的一个完整的利用MEF搭建的插件式系统中涉及到的MEF框架里的几个基本概念大致描述下. 1.1 依赖注入(export.import) MEF框架中提供 import和export功能,即注入和导出.Spring中有依赖注入这个概念,这

YII框架源码分析(百度PHP大牛创作-原版-无广告无水印)

                        YII 框架源码分析             百度联盟事业部--黄银锋   目 录 1. 引言 3 1.1.Yii 简介 3 1.2.本文内容与结构 3 2.组件化与模块化 4 2.1.框架加载和运行流程 4 2.2.YiiBase 静态类 5 2.3.组件 6 2.4.模块 9 2.5 .App 应用   10 2.6 .WebApp 应用   11 3.系统组件 13 3.1.日志路由组件  13 3.2.Url 管理组件  15 3.3.异常