本文讲的是解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍和excel的写入与生成操作,以及当写入一串数字字符串是变成科学计数法的解决方法。

1、CI框架整合PHPExcel方法

步骤:

Ⅰ: 下载 PHPExcel  http://phpexcel.codeplex.com/releases/view/107442;
        Ⅱ:将下载完成的 PHPExcel 文件夹 和 PHPexcel.php 文件放在项目中的 libraries 里面;
        Ⅲ:修改application/libraries/PHPExcel/IOFactory.php文件:将其类名从PHPExcel_IOFactory改为IOFactory,遵从CI类命名规则;将其构造函数改为public;
        Ⅳ:将 Iofactory 类里的构造函数改为public。

使用代码(在CI框架控制器里面写方法):

    public function testPHPExcel(){//加载PHPExcel的类$this->load->library('PHPExcel');$this->load->library('PHPExcel/IOFactory');//创建PHPExcel实例$excel = new PHPExcel();//下面介绍项目中用到的几个关于excel的操作$charActors = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K');$widthSize = array(5, 10, 30, 12, 16, 28, 18, 18, 20, 30, 45);$titleName = array('ID', '姓名', '身份证号码', '联系方式', '申请提交日期', '360骑卫士设备IMEI编号', '电机号', '车辆品牌', '车架号', '所属保险公司', '个人图片文件夹路径');foreach ($charActors as $k => $v) {//对齐方式,水平剧中$excel->getActiveSheet()->getStyle($v)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);//设置表格宽度$excel->getActiveSheet()->getColumnDimension($v)->setWidth($widthSize[$k]);//设置单元格为文本$excel->getActiveSheet()->getStyle($v)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);//为单元格赋值$excel->getActiveSheet()->setCellValue($v . 1, $titleName[$k]);}$a = 2;for ($i = 0; $i <= 10; $i++) {$excel->getActiveSheet()->setCellValue('A' . $a, $i);$excel->getActiveSheet()->setCellValue('B' . $a, $i . '姓名');$excel->getActiveSheet()->setCellValue('C' . $a, '身份证号码' . $i);$excel->getActiveSheet()->setCellValue('D' . $a, time());$excel->getActiveSheet()->setCellValue('E' . $a, date("Y-m-d"));$excel->getActiveSheet()->setCellValue('F' . $a, $i . '这是id');$excel->getActiveSheet()->setCellValue('G' . $a, $i . '电机号');$excel->getActiveSheet()->setCellValue('H' . $a, $i . '车辆品牌');$excel->getActiveSheet()->setCellValue('I' . $a, $i . '车架号');$excel->getActiveSheet()->setCellValue('J' . $a, $i . '车架号');$excel->getActiveSheet()->setCellValue('K' . $a, $i . '个人图片文件夹路径');$a++;}//输出到浏览器$write = new PHPExcel_Writer_Excel2007($excel);$file_name = date("YmdHis");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="' . $file_name . '.xlsx"');header("Content-Transfer-Encoding:binary");$write->save('php://output');}

访问调用即可。

2、PHPExcel的写入与生成操作

各种代码如下:

        //设置excel的属性://创建人$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");//最后修改人$objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw");//标题$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");//题目$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");//描述$objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");//关键字$objPHPExcel->getProperties()->setKeywords("office 2007 openxml php");//种类$objPHPExcel->getProperties()->setCategory("Test result file");//设置当前的sheet$objPHPExcel->setActiveSheetIndex(0);//设置sheet的name$objPHPExcel->getActiveSheet()->setTitle('Simple');//设置单元格的值$objPHPExcel->getActiveSheet()->setCellValue('A1', 'String');$objPHPExcel->getActiveSheet()->setCellValue('A2', 12);$objPHPExcel->getActiveSheet()->setCellValue('A3', true);$objPHPExcel->getActiveSheet()->setCellValue('C5', '=SUM(C2:C4)');$objPHPExcel->getActiveSheet()->setCellValue('B8', '=MIN(B2:C5)');//合并单元格$objPHPExcel->getActiveSheet()->mergeCells('A18:E22');//分离单元格$objPHPExcel->getActiveSheet()->unmergeCells('A28:B28');//保护cell$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); // Needs to be set to true in order to enable any worksheet protection!$objPHPExcel->getActiveSheet()->protectCells('A3:E13', 'PHPExcel');//设置格式// Set cell number formatsecho date('H:i:s') . " Set cell number formats\n";$objPHPExcel->getActiveSheet()->getStyle('E4')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);$objPHPExcel->getActiveSheet()->duplicateStyle($objPHPExcel->getActiveSheet()->getStyle('E4'), 'E5:E13');//设置宽width// Set column widths$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(12);//设置font$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setName('Candara');$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setSize(20);$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setBold(true);$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);$objPHPExcel->getActiveSheet()->getStyle('E1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);$objPHPExcel->getActiveSheet()->getStyle('D13')->getFont()->setBold(true);$objPHPExcel->getActiveSheet()->getStyle('E13')->getFont()->setBold(true);//设置align$objPHPExcel->getActiveSheet()->getStyle('D11')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);$objPHPExcel->getActiveSheet()->getStyle('D12')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);$objPHPExcel->getActiveSheet()->getStyle('D13')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);$objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);//垂直居中$objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);//设置column的border$objPHPExcel->getActiveSheet()->getStyle('A4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);$objPHPExcel->getActiveSheet()->getStyle('B4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);$objPHPExcel->getActiveSheet()->getStyle('C4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);$objPHPExcel->getActiveSheet()->getStyle('D4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);$objPHPExcel->getActiveSheet()->getStyle('E4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);//设置border的color$objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getLeft()->getColor()->setARGB('FF993300');$objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getTop()->getColor()->setARGB('FF993300');$objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getBottom()->getColor()->setARGB('FF993300');$objPHPExcel->getActiveSheet()->getStyle('E13')->getBorders()->getTop()->getColor()->setARGB('FF993300');$objPHPExcel->getActiveSheet()->getStyle('E13')->getBorders()->getBottom()->getColor()->setARGB('FF993300');$objPHPExcel->getActiveSheet()->getStyle('E13')->getBorders()->getRight()->getColor()->setARGB('FF993300');//设置填充颜色$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getStartColor()->setARGB('FF808080');$objPHPExcel->getActiveSheet()->getStyle('B1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);$objPHPExcel->getActiveSheet()->getStyle('B1')->getFill()->getStartColor()->setARGB('FF808080');//加图片$objDrawing = new PHPExcel_Worksheet_Drawing();$objDrawing->setName('Logo');$objDrawing->setDescription('Logo');$objDrawing->setPath('./images/officelogo.jpg');$objDrawing->setHeight(36);$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());$objDrawing = new PHPExcel_Worksheet_Drawing();$objDrawing->setName('Paid');$objDrawing->setDescription('Paid');$objDrawing->setPath('./images/paid.png');$objDrawing->setCoordinates('B15');$objDrawing->setOffsetX(110);$objDrawing->setRotation(25);$objDrawing->getShadow()->setVisible(true);$objDrawing->getShadow()->setDirection(45);$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());//处理中文输出问题//需要将字符串转化为UTF-8编码,才能正常输出,否则中文字符将输出为空白,如下处理:$str = iconv('gb2312', 'utf-8', $str);

3、解决PHPExcel 长数字串显示为科学计数

解决方案:在数字字符串前加一个空格使之成为字符串即可。

        $objPHPExcel = new PHPExcel();$objPHPExcel->setActiveSheetIndex(0);$objPHPExcel->getActiveSheet()->setTitle('Simple');$objPHPExcel->getActiveSheet()->setCellValue('D1', ' ' . 123456789033);

CI框架教程5——整合PHPExcel库应用相关推荐

  1. php ci cookie使用,CI框架实现cookie登陆的方法详解

    本文实例讲述了CI框架实现cookie登陆的方法.分享给大家供大家参考,具体如下: 第一步:login.php //登陆方法 public function login(){ //如果用户名和密码为空 ...

  2. **【ci框架】精通CodeIgniter框架

    http://blog.csdn.net/yanhui_wei/article/details/25803945 一.大纲 [php] view plaincopy 1.codeigniter框架的授 ...

  3. CI框架的三种设置cookie的方式

    [php] view plaincopyprint? //第一种设置cookie的方式:采用php原生态的方法设置的cookie的值 setcookie("user_id",$us ...

  4. php ci框架 模板引擎,详解CodeIgniter框架实现的整合Smarty引擎DEMO

    CodeIgniter框架实现的整合Smarty引擎DEMO示例 本文实例讲述了CodeIgniter框架实现的整合Smarty引擎.分享给大家供大家参考,具体如下: Smarty的模板机制很强大,一 ...

  5. 最新CI框架PHP漫画小说二合一CMS网站系统源码+内附教程

    正文: 最新CI框架PHP漫画小说二合一CMS网站系统源码,Apache/Nginx + PHP (5.3 +) + MySQL(5.0 +),内附安装教程. 程序: wwxkhs.lanzouf.c ...

  6. 后盾网-CI框架实例教程-马振宇 - 学习笔记(4)

    第四节视频: 表单验证操作: 1.载入验证类 $this ->load ->library('form_validation'); 2.设置规则 $this ->form_valid ...

  7. 后盾网-CI框架实例教程-马振宇 - 学习笔记(7)

    第七节视频:    CI框架学习-实例操作利用AR类对栏目进行查.删.改动作 取cid的方法: $cid = $this->uri->segment(4);//取第4个片段: /*查询对应 ...

  8. 后盾网-CI框架实例教程-马振宇 - 学习笔记(6)

    第六节视频:6.CI框架学习-实例操作添加栏目如何定义使用模型以及配置数据库与利用AR增 本节要点: 1.定义模型Model 2.输入类使用 3.数据库配置 4.使用AR类操作数据库 5.激活调试模式 ...

  9. 后盾网-CI框架实例教程-马振宇 - 学习笔记(10)

    第十节视频:实例操作查看文章CI分页类使用与自定义与AR类连贯操作 1.分页类调取使用 2.如何自定义分页 一.CI框架分页类 1.载入分页类 $this ->load ->library ...

最新文章

  1. python是一种动态语言、这意味着_【python编程的优点是什么?难怪选择python的人越来越多了】- 环球网校...
  2. git 上传项目到linux仓库_总结:上传python项目至git上前的一些准备工作
  3. 时至今日,百度无人车还好吗?
  4. kvm在centos6.4-minamal-64位下的安装
  5. php+mysql数据库语法错误_求教:PHP+MYSQL制作用户登录系统问题,总是提示数据库查询语句语法不对。$sql=mysql_query(。。。)这行...
  6. 计算机的音乐怎么调,电脑怎么调整音频设备属性
  7. vyos as a firewall
  8. Cholesky分解法
  9. Unity3D游戏框架之dll反编译和混淆
  10. SpringBoot + Vue 前后端分离的小案例
  11. 表示背景色彩的html是,[html颜色代码]HTML语言中,设置背景颜色的代码是?
  12. iOS设备指纹的前世今生
  13. 远程登陆没有固定ip的服务器
  14. html标识标志相关符号
  15. vue动态生成二维码,扫码登录
  16. 一文总结十大经典排序算法(思维导图 + 动图演示 + 代码实现 C/C++/Python + 致命吐槽)
  17. AE导出JSON数据用CSS做前端交互---kalrry
  18. 「镁客早报」NASA公布“门户计划”,未来将在月球轨道建立空间站;特斯拉裁掉Model3交付部门一半以上...
  19. 漂亮国站-亚马逊跨境电商平台新规定
  20. android studio1.2.6,1.2.2 使用Android Studio开发Android APP | 菜鸟教程

热门文章

  1. Ubuntu下解压rar文件的方法
  2. Python使用嵌套循环实现图像处理算法
  3. oracle grant execute function,oracle grant 详解
  4. 如何基于数据分析精准定位你的用户群?
  5. webdriver自动化测试工具的使用,将chromedriver配置到path环境变量中,并测试是否成功
  6. 北京东方国信Java面经(1H)
  7. android硬盘加密软件,Whisper Systems创始人:将推Android硬盘加密工具
  8. Apache Tuscany SCA 用户指南
  9. 10.1 单片机数字秒表程序
  10. MySQLdb 使用方法