php excel文件导出之二 图像导出
PHP文件导出 之图像 和 文字同一时候导出
事实上之前写了个php文件导出。跟这个极为相似,由于项目须要对图像进行导出。查询一番。又写了一个,
这个能实现图像的导出(仅仅能是本地图像,不能使用远程图像链接)
/**
* 导出相应的活动投票记录
*/
public function exportxls(){ $alist = datafrom db; //从数据库获取相应的数据 //1. 从数据库来获取相应的二维数组
$alist = array(...);
$list = $alist;
$data = array();
//2. 设置xls的 表头名
$headArr = array("排名","姓名","手机","获奖","參与时间");
if(false === empty($list)){
$i=0;
foreach ($list as $key => $val){
//组装相应的单元格A,B,C。D。。。
$data[$i] = array(
($i+1), //A
$val['name'], //B
$val['tel'], //C
$val['award'], //D
...
);
$i++;
}
}else{
$data[0] = array('暂无相关记录! ');
} $imgindexs = array(5); //放入是 图片的列的索引 第一个是0 此为一维数组 $fileName = "your name-".date('Y-m-d');
$this->output_customer($headArr,$data,$fileName,$imgindexs);
} public function output_customer($headArr,$alist,$filename,$imgindexs){ set_time_limit(0);
ini_set('memory_limit', '-1'); $dir = $_SERVER['DOCUMENT_ROOT']; //定义站点根文件夹 /** 设置报错级别 */
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
if (PHP_SAPI == 'cli')
die('This example should only be run from a Web Browser'); /** Include PHPExcel */
require_once $dir.'/public/phpexcel/PHPExcel.php'; // Create new PHPExcel object
$objPHPExcel = new PHPExcel(); // Set document properties
$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"); /*实例化excel图片处理类*/
$objDrawing = new PHPExcel_Worksheet_Drawing(); $width = 25;
$colnums = count($headArr);
for($i = 0,$startA = "A"; $i < $colnums; $i++) {
// 设置列数
$temp = chr(intval(ord($startA))+$i);
$objPHPExcel->getActiveSheet()->getColumnDimension($temp)->setWidth($width);
} //设置标题
for($i = 0,$startA = "A"; $i < $colnums; $i++) {
// 设置列数
$temp = chr(intval(ord($startA))+$i).'1';
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($temp, $headArr[$i]);
} // Miscellaneous glyphs, UTF-8
$row=2;
foreach($alist as $val){
//设置行高
$objPHPExcel->getActiveSheet()->getRowDimension($k)->setRowHeight(50); $span = 0;
$startA = 'A';
//填充每一行的内容
foreach($val as $factval){
$temp = chr(intval(ord($startA))+$span).$row;
//1.图片填充列
if(in_array($span in $imgindexs)){
/*实例化插入图片类*/
$objDrawing = new PHPExcel_Worksheet_Drawing();
/*设置图片路径 切记:仅仅能是本地图片*/
$objDrawing->setPath($dir.$factval);
/*设置图片高度*/
$objDrawing->setHeight(50);
$objDrawing->setWidth(50);
/*设置图片要插入的单元格*/
$objDrawing->setCoordinates($temp);
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
}else{
//2.非图片填充列
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($temp, $factval);
}
$span++;
}
$row++;
} // 重命名 worksheet
$date = date('Y-m-d');
$objPHPExcel->getActiveSheet()->setTitle($filename); // Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0); $filename = iconv("utf-8", "gb2312", $filename.date('Y-m-d')); header('Content-Type: application/vnd.ms-excel;');
header('Content-Disposition: attachment;filename='.$filename.'.xls"');
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1'); // If you're serving to IE over SSL, then the following may be needed
header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header ('Pragma: public'); // HTTP/1.0 //注意这里 第二个參数写成 'Excel2007' 会避免特殊字符或中文乱码
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output'); exit;
}
php excel文件导出之二 图像导出的更多相关文章
- PHP导出excel文件之权限字段筛选导出
因为导出excel时要过滤掉不是自身权限内的数据,权限有专门的字段,所以导出的数据要具体考量,数据库权限字段是MMId,因为登录的时候MMId已存入SESSION,所以导出的时候只要判断是否在此SES ...
- java使用POI操作excel文件,实现批量导出,和导入
一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Exc ...
- Java中使用jxl.jar将数据导出为excel文件
Java对Excel文件的读写操作可由jxl.jar或poi.jar实现,这里使用jxl.jar完成对Excel文件的导出. 一.将Excel文件导出在本地 步骤: 创建文件 -> 创建 ...
- C#中dategridview数据导出为excel文件
先从数据库中获取数据,绑定在datagridview中,再从dategridview中导出为excel文件 1.新建窗体,把控件datagridview和按钮设置好,如图
- Spring Boot下的一种导出Excel文件的代码框架
1.前言 在Spring Boot项目中,将数据导出成Excel格式文件是常见的功能.与Excel文件导入类似,此处也用代码框架式的方式实现Excel文件导出,使得代码具有可重用性,并保持导出数据 ...
- html table表格导出excel的方法 html5 table导出Excel HTML用JS导出Excel的五种方法 html中table导出Excel 前端开发 将table内容导出到excel HTML table导出到Excel中的解决办法 js实现table导出Excel,保留table样式
先上代码 <script type="text/javascript" language="javascript"> var idTmr; ...
- (转)如何将 Excel 文件导入到 Navicat for MySQL 数据库
场景:工作中需要统计一段时间的加班时长,人工统计太过麻烦,就想到使用程序实现来统计 1 如何将 Excel 文件导入到 Navicat for MySQL 数据库 Navicat for MySQL ...
- excel-合并多个Excel文件--VBA合并当前目录下所有Excel工作簿中的所有工作表
在网上找EXCEL多文件合并的方法,思路: 一.Linux 或者window+cmder,直接用命令行cat合并EXCEL文件,但是,需要安装辅助东西才能直接处理(也许也不可以,但是,可以用文件格式转 ...
- 网站开发进阶(二十五)js如何将html表格导出为excel文件
js如何将html表格导出为excel文件 赠人玫瑰,手留余香.若您感觉此篇博文对您有用,请花费2秒时间点个赞,您的鼓励是我不断前进的动力,共勉! jsp页面数据导出成excel的方法很 ...
随机推荐
- Prime Gift(prime)
Prime Gift(prime) 题目描述 Jyt有nn个质数,分别为p1,p2,p3-,pnp1,p2,p3-,pn. 她认为一个数xx是优秀的,当且仅当xx的所有质因子都在这nn个质数中. 她想 ...
- 城市改造 (city)
城市改造 (city) 题目描述 为了节约当前社会巨大的能源消耗,A 城市发起了新能源改造计划,也就是用太阳能代替旧能源.为了简化题意,可以假设 A 城市在一个二维平面上,平面上从11到nn每一个地方 ...
- 字符串(bzoj 1856)
Description lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数.现在lxhgw ...
- codechef AUG17 T4 Palindromic Game
Palindromic Game Problem Code: PALINGAM There are two players A, B playing a game. Player A has a st ...
- android中与Adapter相关的控件----GridView
GridView(网格视图)讲解 一.GridView(网格视图)这个是控件也是比较多,和listView的很多地方都是一样的,但是GridView可以显示多列,而listView只能显示一列,个人觉 ...
- Codeforces 707C. Pythagorean Triples-推公式的数学题
两道C题题解,能推出来公式简直是无敌. http://codeforces.com/problemset/problem/707/C codeforces707C. Pythagorean Tripl ...
- Codeforces Gym100971 L.Chess Match (IX Samara Regional Intercollegiate Programming Contest Russia, Samara, March 13)
这个题就是两个队,看最多能赢的个数,然后比较一下,看两个队是都能赢彼此,还是只有一个队赢的可能性最大.表达能力不好,意思差不多... 和田忌赛马有点像,emnnn,嗯. 代码: 1 #include& ...
- win7下用PyInstaller把Python代码打包成exe文件
2013-11-05 22:02:14| 1.安装 使用PyInstaller需要安装PyWin32. 下载与Python对应的PyInstaller版本,解压后就算安装好了. 例如,安装了PyI ...
- 利用Django徒手写个静态页面生成工具
每个Geek对折腾自己的博客都有着一份执念 背景介绍 曾经多次在不同的平台写博客,但全部都以失败而告终.去年七月选择微信公众号做为平台开始了又一次的技术分享,庆幸一直坚持到现在,但随着文章发表的越来越 ...
- codevs 1450 xth 的旅行
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description 毕业了,Xth很高兴,因为他要和他的 ra ...