public function ff(){
import("Org.Util.PHPExcel");
import("Org.Util.PHPExcel.Worksheet.Drawing");
$objPHPExcel = new \PHPExcel();
$objDrawing = new \PHPExcel_Worksheet_Drawing(); $objDrawing->setPath('./images/01.gif');
/*设置图片高度*/
$objDrawing->setHeight();//照片高度
$objDrawing->setWidth(); //照片宽度
/*设置图片要插入的单元格*/
$objDrawing->setCoordinates('M2');
/*设置图片所在单元格的格式*/
$objDrawing->setOffsetX();
$objDrawing->setRotation();
$objDrawing->getShadow()->setVisible(true);
$objDrawing->getShadow()->setDirection();
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); $objActSheet = $objPHPExcel->getActiveSheet();
$objActSheet->setCellValue('A1', '');
$objActSheet->setCellValue('B1', '');
$objActSheet->setCellValue('C1', '');
$objActSheet->setCellValue('D1', '');
$objActSheet->setCellValue('E1', '');
$objActSheet->setCellValue('F1', '');
$objActSheet->setCellValue('G8', ''); $date = date("Y_m_d",time());
$fileName .= "_{$date}.xls"; $fileName = iconv("utf-8", "gb2312", $fileName);
//重命名表
// $objPHPExcel->getActiveSheet()->setTitle('test');
//设置活动单指数到第一个表,所以Excel打开这是第一个表
$objPHPExcel->setActiveSheetIndex();
header('Content-Type: application/vnd.ms-excel');
header("Content-Disposition: attachment;filename=\"$fileName\"");
header('Cache-Control: max-age=0'); $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output'); //文件通过浏览器下载 }

可以生成图片加文字

实战:带数据生成

public function look_down(){
$id = I('get.id');
$m = M ('offer_goods');
$where['offer_id'] = $id;
$data = $m->field('goods_sn,goods_name,barcode,goods_type,price')->select(); // 导出Exl
import("Org.Util.PHPExcel");
import("Org.Util.PHPExcel.Worksheet.Drawing");
import("Org.Util.PHPExcel.Writer.Excel2007");
$objPHPExcel = new \PHPExcel();
$objDrawing = new \PHPExcel_Worksheet_Drawing();
$objWriter = new \PHPExcel_Writer_Excel2007($objPHPExcel);
//echo $objWriter->ss();
//exit; $objActSheet = $objPHPExcel->getActiveSheet(); $objActSheet->setCellValue('A1', '商品货号');
$objActSheet->setCellValue('B1', '商品名称');
$objActSheet->setCellValue('C1', '商品图');
$objActSheet->setCellValue('D1', '商品条码');
$objActSheet->setCellValue('E1', '商品属性');
$objActSheet->setCellValue('F1', '报价(港币)');
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth();
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth();
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth();
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth();
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth();
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(); foreach($data as $k=>$v){
$k +=;
$objActSheet->setCellValue('A'.$k, $v['goods_sn']);
$objActSheet->setCellValue('B'.$k, $v['goods_name']);
$objActSheet->setCellValue('C'.$k, '');
$objActSheet->setCellValue('D'.$k, $v['barcode']);
$objActSheet->setCellValue('E'.$k, $v['goods_type']);
$objActSheet->setCellValue('F'.$k, $v['price']); // 表格高度
$objActSheet->getRowDimension($k)->setRowHeight();
// 垂直居中
$objPHPExcel->getActiveSheet()->getStyle('A'.$k)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('B'.$k)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('D'.$k)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('E'.$k)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('F'.$k)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
// 水平居中
$objPHPExcel->setActiveSheetIndex()->getStyle('A'.$k)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex()->getStyle('D'.$k)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex()->getStyle('E'.$k)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex()->getStyle('F'.$k)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
} $fileName = '报价表';
$date = date("Y-m-d",time());
$fileName .= "_{$date}.xls"; $fileName = iconv("utf-8", "gb2312", $fileName);
//重命名表
// $objPHPExcel->getActiveSheet()->setTitle('test');
//设置活动单指数到第一个表,所以Excel打开这是第一个表
$objPHPExcel->setActiveSheetIndex();
header('Content-Type: application/vnd.ms-excel');
header("Content-Disposition: attachment;filename=\"$fileName\"");
header('Cache-Control: max-age=0'); $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output'); //文件通过浏览器下载
// END
}

thinkphp3.2与phpexcel基础生成的更多相关文章

  1. thinkphp3.2与phpexcel带图片生成 完美案例

    thinkphp3.2与phpexcel完美案例 // 导出exl public function look_down(){ $id = I('get.id'); $m = M ('offer_goo ...

  2. thinkphp3.2和phpexcel导入

    先整个最基础的代码,理解了这个,后面的就非常简单了 $file_name= './Upload/excel/123456.xls'; import("Org.Util.PHPExcel&qu ...

  3. ThinkPHP3.2.3扩展之生成PDF文件(MPDF)

    目前是PHP生成PDF文件最好的插件了,今天介绍下在ThinkPHP3.2.3里如何使用. 先安照路径放好如图. 下面是使用方法 public function pdf(){ //引入类库 Vendo ...

  4. thinkphp3.2整合phpexcel

    由于thinkphp3.2使用命名空间,而 PHPExcel没有使用,那么两者整合的最重要问题就是如何导入的问题. 一.PHPExcel.php和PHPExcel文件夹都放在ThinkPHP/Libr ...

  5. ThinkPHP3.2.3 PHPExcel读取excel插入数据库

    版本 ThinkPHP3.2.3 下载PHPExcel 将这两个文件放到并更改名字 excel文件: 数据库表: CREATE TABLE `sh_name` ( `name` varchar(255 ...

  6. 关于PHPExcel 基础使用方法

    $dir=dirname(__FILE__);//找到当前脚本所在路径require_once $dir.'/PHPExcel/PHPExcel.php';$objPHPExcel=new PHPEx ...

  7. PHP 使用 PHPExcel 库生成 Excel 文件

    PHPExcel 是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言.可以使用它来读取.写入不同格式的电子表格,如 Excel (BIFF) .xls ...

  8. python基础-生成随机字符串方法

    python解释器示例 >>> import uuid >>> uuid.uuid1() UUID('ae6822e6-c976-11e6-82e0-0090f5f ...

  9. thinkphp3.2与phpexcel解析

    1.impot导入 第一种方式: import("Org.Util.PHPExcel.TextT"); $tt = new \TextT(); //创建PHPExcel对象,注意, ...

随机推荐

  1. 个人Github-欢迎交流探讨

    Github annsshadow

  2. IIS+域组策略+hosts:禁止访问指定网站

    一.简介 禁止访问网站可以通过多种方式实现,在网络设备上实现大概是性能最好的方式.本文在域服务器上实现该功能,优点是配置简单.可自定义跳转页面,缺点也很明显,遇到熟悉操作系统的用户,修改hosts文件 ...

  3. 【Windows编程】系列第九篇:剪贴板使用

    上一篇我们学习了常见的通用对话框,本篇来了解剪贴板的使用,它常用于复制粘贴功能. 剪贴板是Windows最早就加入的功能,由于该功能非常实用,我们几乎每天都会使用到.通过剪贴板,我们就可以将数据从一个 ...

  4. 【小白的CFD之旅】15 四种境界

    天气不错,小白一大早就起床了,吃过早餐就往奔实验室而去.路上碰到了同去实验室的小牛师兄. "小白,这么早啊",小牛师兄老远就发现了小白,打招呼道. "早啊,牛师兄,刚吃完 ...

  5. 用最简单的方式在C#中使用多线程加速耗时的图像处理算法的执行(多核机器)。

    图像处理中,有很多算法由于其内在的复杂性是天然的耗时大户,加之图像本身蕴涵的数据量比一般的对象就大,因此,针对这类算法,执行速度的提在很大程度上依赖于硬件的性能,现在流行的CPU都是至少2核的,稍微好 ...

  6. 深入理解Java反射

    要想理解反射的原理,首先要了解什么是类型信息.Java让我们在运行时识别对象和类的信息,主要有2种方式:一种是传统的RTTI,它假定我们在编译时已经知道了所有的类型信息:另一种是反射机制,它允许我们在 ...

  7. runv nslistener源码分析

    nslistener的作用实质上就是将新的namespace里的veth网卡的配置信息通过proxy进程传输出来,并且利用该信息对tap进行相同的配置,最终用tap模拟新的namespace里的vet ...

  8. MAVEN构建Spring +Spring mvc + Mybatis 项目(Maven配置部分(workshop))

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  9. AI方向

    普通程序员如何转向AI方向   眼下,人工智能已经成为越来越火的一个方向.普通程序员,如何转向人工智能方向,是知乎上的一个问题.本文是我对此问题的一个回答的归档版.相比原回答有所内容增加. 一. 目的 ...

  10. J2EE,J2SE,J2ME,JDK,SDK,JRE,JVM区别

    转自:http://www.metsky.com/archives/547.html 一.J2EE.J2SE.J2ME区别 J2EE——全称Java 2 Enterprise Edition,是Jav ...