php excel文件导出之二 图像导出
来源:互联网 发布:淘宝首页服务 编辑:程序博客网 时间:2024/05/16 07:24
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;
- }
阅读全文
0 0
- php excel文件导出之二 图像导出
- php excel文件导出之二 图像导出
- PHP导出Excel文件
- PHP导出Excel文件
- php 导出EXCEL文件
- php导出Excel文件
- php 导出excel文件
- PHP导出文件,导入Excel
- php 导出excel 文件--收藏
- PHP导出生成EXCEL文件
- php导出导入excel 文件
- php导出excel表格文件
- PHP导出Excel 之 Spreadsheet_Excel_Writer
- PHP导出Excel 之 Spreadsheet_Excel_Writer
- PHP导出Excel 之 Spreadsheet_Excel_Writer
- php数据导入导出之excel(csv文件)
- php数据导入导出之excel(csv文件)
- php数据导入导出之excel(csv文件)
- ORA-00445: background process "LGWR" did not start after 120 seconds in rac安装
- 利用Python进行数据分析(六)之pandas基本功能
- 起泡排序验证性实验
- WebGL 着色器语言(GLSL ES)
- Visual Paradigm for UML工具
- php excel文件导出之二 图像导出
- charles使用教程
- 利用select接收串口数据 亲测可用小demo
- 配置本地yum源
- BZOJ1823 [JSOI2010]满汉全席
- 图--最小生成树(数据结构)
- 缓存技术:Redis与Memcached对比
- 关于JAVA的redis客户端的实现
- 使用word 2013 发布csdn博客