PHPExcel笔记, mpdf导出

合集下载

PHP导出Excel的类库—PHPExcel,支持附带图片

PHP导出Excel的类库—PHPExcel,支持附带图片

PHP导出Excel的类库—PHPExcel,支持附带图片PHP导出Excel的类库—PHPExcel,支持附带图片PHP导出Excel比较简单的办法有:一、直接通过PHP的header来导出Excel。

view sourceprint?01.header("Content-type:application/vnd.ms-excel");02.header("Content-Disposition:attachment;filename=excel_data.xls");03.04.$tx='HEADER';05.echo $tx."\n\n";06.//输出内容如下:07.echo "Name"."\t";08.echo "Age"."\t";09.echo "\n";10.echo "lilei"."\t";11.echo "25"."\t";二、采用Excel_XML类。

Excel_XML是一个简单的PHP导出XML格式Excel的类。

下载地址:/p/php-excel/downloads/list使用方法:view sourceprint?01.// load library02.require 'php-excel.class.php';03.04.// create a simple 2-dimensional array05.$data = array(06.1 => array ('Name', 'Surname'),07.array('Schwarz', 'Oliver'),08.array('Test', 'Peter')09.);10.11.// generate file (constructor parameters are optional)12.$xls = new Excel_XML('UTF-8', false, 'My Test Sheet');13.$xls->addArray($data);14.$xls->generateXML('my-test');以上两种是比较简单的导出Excel的方法,但功能不够强大,只能满足一般的需求。

php导出大量数据的方法

php导出大量数据的方法

php导出大量数据的方法在Web开发中,经常会遇到导出大量数据的需求,例如从数据库中导出表格数据、生成Excel报表等。

本文将介绍几种使用PHP导出大量数据的方法,帮助您在实际项目中快速处理这类需求。

一、将数据导出为CSV文件CSV(逗号分隔值)是一种常用的数据交换格式,它的优点是简单、易读,适用于大多数数据导出场景。

以下是使用PHP将数据导出为CSV文件的示例代码:```php<?php// 设置HTTP头,告诉浏览器下载文件header('Content-Type: text/csv');header('Content-Disposition: attachment; filename="data.csv"');// 打开输出流$fp = fopen('php://output', 'w');// 查询数据库获取数据$data = []; // 假设这里是数据库查询的结果// 写入CSV文件头部fputcsv($fp, array_keys($data[0]));// 逐行写入数据foreach ($data as $row) {fputcsv($fp, $row);}// 关闭输出流fclose($fp);>```上述代码首先设置了HTTP头,告诉浏览器将要下载一个CSV文件。

然后,使用`fopen()`打开输出流,指定使用`php://output`作为文件路径,这样就可以直接将数据输出到浏览器。

接着,通过`fputcsv()`函数将表头和数据按CSV格式写入文件。

最后,使用`fclose()`关闭输出流。

二、将数据导出为Excel文件除了导出CSV文件,我们还可以使用PHP将数据导出为Excel文件(xls或xlsx格式)。

这需要借助第三方库,如PHPExcel或PhpSpreadsheet。

php导出excel表格

php导出excel表格

最近因项目需要,需要开发一个模块,把系统中的一些数据导出成Excel,修改后再导回系统。

就趁机对这个研究了一番,下面进行一些总结。

基本上导出的文件分为两种:1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,能够正确打开而已。

修改这种文件后再保存,通常会提示你是否要转换成Excel文件。

优点:简单。

缺点:难以生成格式,如果用来导入需要自己分别编写相应的程序。

2:Excel格式,与类Excel相对应,这种方法生成的文件更接近于真正的Excel格式。

如果导出中文时出现乱码,可以尝试将字符串转换成gb2312,例如下面就把$yourStr从utf-8转换成了gb2312:$yourStr = mb_convert_encoding("gb2312", "UTF-8", $yourStr);一、PHP导入Excel1:还是用PHPExcel,官方网站:/PHPExcel。

2:使用PHP-ExcelReader,下载地址: /projects/phpexcelreader举例:<?phprequire_once 'Excel/reader.php';// ExcelFile($filename, $encoding);$data = new Spreadsheet_Excel_Reader();// Set output Encoding.$data->setOutputEncoding('utf8');$data->read(' jxlrwtest.xls');error_reporting(E_ALL ^ E_NOTICE);for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";}echo "\n";}?>总结php导出Excel php导入Excel PhpExcel使用说明PhpExcel使用手册方法一:特点,简单,省心,制表符"\t"用户分割同一行中的列,换行符"\t\n"可以开启下一行,还能够自动识别日期格式,货币格式等!<?phpheader("Content-type:application/vnd.ms-excel");header("Content-Disposition:attachment;filename=test_data.xls");//输出内容如下:echo "姓名"."\t";echo "年龄"."\t";echo "学历"."\t";echo "\n";echo "张三"."\t";echo "25"."\t";echo "本科"."\t";?>动态版<?$sql = "SELECT * FROM " .$ecs->table('member'). " ";$classres = $db->Execute($sql);header("Content-type:application/vnd.ms-excel");header("Content-Disposition:attachment; filename=test_data.xls");echo 'ID'.chr(9);echo 'txtPEOClientCode'.chr(9);echo 'jcompany'.chr(9);echo 'fcompany'.chr(9);echo 'ecompany'.chr(9);echo 'rcompany'.chr(9);echo 'txtAddress'.chr(9);echo 'txtCompanyTel'.chr(9);echo 'txtFax'.chr(9);echo 'txtPostCode'.chr(9);echo chr(13);while ($classrow = $classres->FetchRow()){//输出到xlsecho $classrow['id'].chr(9);echo $classrow['txtPEOClientCode'].chr(9);echo $classrow['jcompany'].chr(9);echo $classrow['fcompany'].chr(9);echo $classrow['ecompany'].chr(9);echo $classrow['rcompany'].chr(9);echo $classrow['txtAddress'].chr(9);echo $classrow['txtCompanyTel'].chr(9);echo $classrow['txtFax'].chr(9);echo $classrow['txtPostCode'].chr(9);echo chr(13);}现在用的Php-excel(/p/php-excel/downloads/list),代码也很简单:require (dirname (__FILE__) . "./class-excel-xml.inc.php");$sql = "SELECT * FROM " .$ecs->table('member'). " ";$classres = $db->Execute($sql);while($classrow = $classres->FetchRow()){$doc[] = array ($classrow['txtPEOClientCode'], $classrow['jcompany'], $classrow['txtBillTo']);}$xls = new Excel_XML;$xls->addArray($doc);$xls->generateXML("mytest");我用的utf-8,结果有乱码问题,把class-excel-xml.inc.php utf8_encode($v) 替换成$v就没有乱码问题了。

php利用PHPExcel类导出导入Excel用法

php利用PHPExcel类导出导入Excel用法

php利用PHPExcel类导出导入Excel用法PHPExcel类是php一个excel表格处理插件了,下面我来给大家介绍利用PHPExcel类来导入与导出excel表格的应用方法,有需要了解的朋友不防参考参考(PHPExcel自己百度下载这里不介绍了)。

导出Excel用法//设置环境变量(新增PHPExcel)代码如下复制代码set_include_path('.'. PATH_SEPARATOR . Yii::app()->basePath.'/lib/PHPExcel' .PATH_SEPARATOR .get_include_path());//注:在yii中,也可以直接Yii::import(“application.lib.PHPExcel.*”);//引入PHPExcel相关文件require_once "PHPExcel.php";require_once 'PHPExcel/IOFactory.php';require_once 'PHPExcel/Writer/Excel5.php';//把要导出的内容放到表格代码如下复制代码//新建$resultPHPExcel = new PHPExcel();//设置参数//设值$resultPHPExcel->getActiveSheet()->setCellValue('A1', '季度');$resultPHPExcel->getActiveSheet()->setCellValue('B1', '名称');$resultPHPExcel->getActiveSheet()->setCellValue('C1', '数量');$i = 2;foreach($data as $item){$resultPHPExcel->getActiveSheet()->setCellValue('A' . $i, $item['quarter']); $resultPHPExcel->getActiveSheet()->setCellValue('B' . $i, $item['name']); $resultPHPExcel->getActiveSheet()->setCellValue('C' . $i, $item['number']);$i ++;}设置导出参数代码如下复制代码//设置导出文件名$outputFileName = 'total.xls';$xlsWriter = new PHPExcel_Writer_Excel5($resultPHPExcel);//ob_start(); ob_flush();header("Content-Type: application/force-download");header("Content-Type: application/octet-stream");header("Content-Type: application/download");header('Content-Disposition:inline;filename="'.$outputFileName.'"');header("Content-Transfer-Encoding: binary");header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");header("Cache-Control: must-revalidate, post-check=0, pre-check=0");header("Pragma: no-cache");$xlsWriter->save( "php://output" );输出有错。

使用php导出excel时处理复杂表头的万能方法

使用php导出excel时处理复杂表头的万能方法

使用php导出excel时处理复杂表头的万能方法处理复杂表头时,使用PHP导出Excel表格的方法在使用PHP导出Excel表格时,当表头比较复杂时,可能会遇到一些困难。

然而,有一种简单而有效的方法可以处理这种情况。

首先,我们需要将表头信息保存在一个数组中。

该数组中的每个元素代表一个表头。

例如,我们可以使用以下代码定义一个包含复杂表头的数组:$tableHeaders = [['A1', 'B1', 'C1'],['A2', 'B2', 'C2'],['A3', 'B3', 'C3']];接下来,我们需要使用递归函数来合并和展开表头。

这样可以确保表头在导出Excel时正确格式化。

function mergeHeaders($headers, &$result, $startColumn = 0, $startRow = 0) {$maxRow = 1;foreach ($headers as $rowIndex => $headerRow) {foreach ($headerRow as $columnIndex => $headerCell) {$cell = $result->getActiveSheet()->getCellByColumnAndRow($columnIndex + $startColumn, $rowIndex + $startRow);$cell->setValue($headerCell);$maxRow = max($maxRow, $rowIndex + 1);}}$result->getActiveSheet()->mergeCellsByColumnAndRow($startColumn, $startRow, $startColumn + count($headers[0]) - 1, $startRow);if (count($headers) > 1) {mergeHeaders(array_slice($headers, 1), $result, $startColumn, $startRow + $maxRow);}}在上述代码中,mergeHeaders函数接受表头数组、Excel对象以及起始列和行作为参数。

PHP 导出excel文件总结

PHP 导出excel文件总结

PHP导出excel文件总结最近因项目需要,需要把系统中的中奖数据导出成Excel格式的文件,百度,谷歌了一番很快就搞定了,觉得以后估计也会用到,于是下面小小的总结了一下,留备后用。

本次实现PHP导出Excel文件使用的是PHP开源程序PHPExcel,话说这开源的就是好啊,什么东东都写好了,只需拿来调用一下就行了!先外链支持一下PHPExcel的官方网站: /PHPExcel,大家可以直接去官方下载php导出excel文件所需要用到的类库文件,案例代码相当的多,导出pdf什么的都有,不过在这里主要介绍导出excel的功能,其他的不多说,读者有需要的,可以下下来自行研究,这里总结的导出excel文件是office2007格式,同时兼容2003的。

下面直接放出本人总结的使用PHP导出Excel的部分调用代码。

查看代码打印01<?php02error_reporting(E_ALL);03date_default_timezone_set('Asia/Shanghai');04require_once './Classes/PHPExcel.php';0506$data=array(070=>array(08'id'=>1001,09'username'=>'张飞',10'password'=>'123456',11'address'=>'三国时高老庄250巷101室'12),131=>array(14'id'=>1002,15'username'=>'关羽',16'password'=>'123456',17'address'=>'三国时花果山'18),192=>array(20'id'=>1003,21'username'=>'曹操',22'password'=>'123456',23'address'=>'延安西路2055弄3号'24),253=>array(26'id'=>1004,27'username'=>'刘备',28'password'=>'654321',29'address'=>'愚园路188号3309室'30)31);3233$objPHPExcel=new PHPExcel();34$objPHPExcel->getProperties()->setCreator('')35->setLastModifiedBy('')36->setTitle('Office 2007 XLSX Document')37->setSubject('Office 2007 XLSX Document')38->setDescription('Document for Office 2007 XLSX, generated using PHP classes.') 39->setKeywords('office 2007 openxml php')40->setCategory('Result file');41$objPHPExcel->setActiveSheetIndex(0)42->setCellValue('A1','ID')43->setCellValue('B1','用户名')44->setCellValue('C1','密码')45->setCellValue('D1','地址');4647$i=2;48foreach($data as $k=>$v){49$objPHPExcel->setActiveSheetIndex(0)50->setCellValue('A'.$i,$v['id'])51->setCellValue('B'.$i,$v['username'])52->setCellValue('C'.$i,$v['password'])53->setCellValue('D'.$i,$v['address']);54$i++;55}56$objPHPExcel->getActiveSheet()->setTitle('三年级2班');57$objPHPExcel->setActiveSheetIndex(0);58$filename=urlencode('学生信息统计表').'_'.date('Y-m-dHis');596061/*62*生成xlsx文件63header('Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');64header('Content-Disposition: attachment;filename="'.$filename.'.xlsx"');65header('Cache-Control: max-age=0');66$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');67*/6869/*70*生成xls文件71header('Content-Type: application/vnd.ms-excel');72header('Content-Disposition: attachment;filename="'.$filename.'.xls"');73header('Cache-Control: max-age=0');74$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');75*/7677$objWriter->save('php://output');78exit;注意:如果导出中文时出现乱码,可以尝试将字符串转换成gb2312,代码类似如下:查看代码打印1$str=mb_convert_encoding("gb2312","UTF-8",$str);来源:清源教育。

利用PHPExcel读取Excel的数据和导出数据到Excel

利用PHPExcel读取Excel的数据和导出数据到Excel

利⽤PHPExcel读取Excel的数据和导出数据到ExcelPHPExcel是⼀个PHP类库,⽤来帮助我们简单、⾼效实现从Excel读取Excel的数据和导出数据到Excel。

也是我们⽇常开发中,经常会遇到的使⽤场景。

⽐如有个客户信息表,要批量导出发给同事,我们就可以⽤PHPExcel来快速实现。

同样,如果我们要利⽤短信群发接⼝去群发信息,PHPExcel可以快速导⼊客户信息,避免⼈⼯录⼊信息的⿇烦。

PHPExcel使⽤教程:⾸先下载PHPExcel下载好⽂件,解压可以得到如下⽂件:PHPExcel好了,现在我们就可以⽤PHPExcel愉快的读取和制作表格了!PHPExcel DEMO1:利⽤PHPExcel读取excel信息:我们在根⽬录创建⼀个名为read.php的⽂件来读取⽂档,创建⼀个test.xlsx的⽂件,⾥⾯写的信息如下:然后在read.php写以下代码:<?phpinclude ‘./Classes/PHPExcel/IOFactory.php';$inputFileName = ‘./test.xls';date_default_timezone_set(‘PRC');// 读取excel⽂件try {$inputFileType = PHPExcel_IOFactory::identify($inputFileName);$objReader = PHPExcel_IOFactory::createReader($inputFileType);$objPHPExcel = $objReader->load($inputFileName);} catch(Exception $e) {die(‘加载⽂件发⽣错误:”‘.pathinfo($inputFileName,PATHINFO_BASENAME).'”: ‘.$e->getMessage()); }// 确定要读取的sheet,什么是sheet,看excel的右下⾓,真的不懂去百度吧$sheet = $objPHPExcel->getSheet(0);$highestRow = $sheet->getHighestRow();$highestColumn = $sheet->getHighestColumn();// 获取⼀⾏的数据for ($row = 1; $row <= $highestRow; $row++){// Read a row of data into an array$rowData = $sheet->rangeToArray(‘A' . $row . ‘:' . $highestColumn . $row, NULL, TRUE, FALSE);//这⾥得到的rowData都是⼀⾏的数据,得到数据后⾃⾏处理,我们这⾥只打出来看看效果var_dump($rowData);echo “<br>”;}得到的数据:PHPexcel读取⽂件PHPExcel DEMO2:利⽤PHPExcel导出信息到excel:<?php/** Error reporting */error_reporting(E_ALL);ini_set('display_errors', TRUE);ini_set('display_startup_errors', TRUE);date_default_timezone_set('PRC');/** 引⼊PHPExcel */require_once dirname(__FILE__) . './Classes/PHPExcel.php';// 创建Excel⽂件对象$objPHPExcel = new PHPExcel();// 设置⽂档信息,这个⽂档信息windows系统可以右键⽂件属性查看$objPHPExcel->getProperties()->setCreator("作者简庆旺")->setLastModifiedBy("最后更改者")->setTitle("⽂档标题")->setSubject("⽂档主题")->setDescription("⽂档的描述信息")->setKeywords("设置⽂档关键词")->setCategory("设置⽂档的分类");//根据excel坐标,添加数据$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', '你好')->setCellValue('B2', '世界')->setCellValue('C1', '你好')->setCellValue('D2', '世界');// 混杂各种符号, 编码为UTF-8$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A4', 'Miscellaneous glyphs')->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');$objPHPExcel->getActiveSheet()->setCellValue('A8',"你好世界");$objPHPExcel->getActiveSheet()->getRowDimension(8)->setRowHeight(-1);$objPHPExcel->getActiveSheet()->getStyle('A8')->getAlignment()->setWrapText(true);$value = "-ValueA\n-Value B\n-Value C";$objPHPExcel->getActiveSheet()->setCellValue('A10', $value);$objPHPExcel->getActiveSheet()->getRowDimension(10)->setRowHeight(-1);$objPHPExcel->getActiveSheet()->getStyle('A10')->getAlignment()->setWrapText(true); $objPHPExcel->getActiveSheet()->getStyle('A10')->setQuotePrefix(true);// 重命名⼯作sheet$objPHPExcel->getActiveSheet()->setTitle('第⼀个sheet');// 设置第⼀个sheet为⼯作的sheet$objPHPExcel->setActiveSheetIndex(0);// 保存Excel 2007格式⽂件,保存路径为当前路径,名字为export.xlsx$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');$objWriter->save( 'export.xlsx');// 保存Excel 95格式⽂件,,保存路径为当前路径,$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');$objWriter->save('export.xls');好了,执⾏后我们可以得到export.xls和export.xlsx。

PHP输出ExcelPHPExcel的方法

PHP输出ExcelPHPExcel的方法

PHP输出ExcelPHPExcel的⽅法本⽂实例为⼤家分享了PHP输出Excel PHPExcel的具体代码,供⼤家参考,具体内容如下⽅法1:/*** 创建(导出)Excel数据表格* @param array $list 要导出的数组格式的数据* @param string $filename 导出的Excel表格数据表的⽂件名* @param array $header Excel表格的表头* @param array $index $list数组中与Excel表格表头$header中每个项⽬对应的字段的名字(key值)* ⽐如: $header = array('编号','姓名','性别','年龄');* $index = array('id','username','sex','age');* $list = array(array('id'=>1,'username'=>'YQJ','sex'=>'男','age'=>24));* @return [array] [数组]*/function createtable($list,$filename,$header=array(),$index = array()){header("Content-type:application/vnd.ms-excel");header("Content-Disposition:filename=".$filename.".xls");$teble_header = implode("\t",$header);$strexport = $teble_header."\r";foreach ($list as $row){foreach($index as $val){$strexport.=$row[$val]."\t";}$strexport.="\r";}$strexport=iconv('UTF-8',"GB2312//IGNORE",$strexport);exit($strexport);}此⽅法代码量少,可以放在thinkPHP5中的公共函数common.php中,⽅便调⽤,但是对输出的Excel表格⽆法设置属性⽅法2:⾸先需要到下载SDK,,下载后解压,我们只需要⾥边的Classes⽂件夹,将其改名为PHPExcel。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

这篇文章主要介绍了PHPExcel笔记, mpdf导出,需要的朋友可以参考下phpexcel常用处理##导入类库require 'PHPExcel/Classes/PHPExcel.php';require 'PHPExcel/Classes/PHPExcel/Writer/Excel5.php'; //非07格式的写出类##基础属性设定$objPHPExcel = \PHPExcel_IOFactory::load('a.xls'); //读入指定excel文件$objPHPExcel-&gt;setActiveSheetIndex(0); //指定活动工作表$objPHPExcel-&gt;getActiveSheet()-&gt;getDefaultStyle()-&gt;getFont()-&gt;setName('宋体');$objPHPExcel-&gt;getProperties()-&gt;setTitle('xxx');##单元格编辑$objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue('A3', 'xxx'); //设定A3单元格值为xxx##单元格绘图$objDrawing = new \PHPExcel_Worksheet_Drawing();$objDrawing-&gt;setPath('a.jpg'); //指定图片路径。

若要远程图片需PHPExcel/Classes/PHPExcel/Worksheet/Drawing.php:106处file_exists换成file_get_contents $objDrawing-&gt;setCoordinates('A4'); //指定在A4单元格绘图$objDrawing-&gt;setName('Photo');$objDrawing-&gt;setDescription('Photo');$objDrawing-&gt;setHeight(120);$objDrawing-&gt;setWidth(100);$objDrawing-&gt;setOffsetX(7);$objDrawing-&gt;setOffsetY(7);$objDrawing-&gt;setWorksheet($objPHPExcel-&gt;getActiveSheet());##excel文件浏览器下载导出$filename='a.xls';$encoded_filename = rawurlencode($filename);$ua = $_SERVER["HTTP_USER_AGENT"];header('Content-type: application/vnd.ms-excel');if (preg_match("/MSIE/", $ua) || preg_match("/Trident\/7.0/", $ua) || preg_match("/Edge/", $ua)) {&nbsp; header('Content-Disposition: attachment; filename="' . $encoded_filename . '"');} else if (preg_match("/Firefox/", $ua)) {&nbsp; header("Content-Disposition: attachment; filename*=\"utf8''" . $filename . '"');} else {&nbsp; header('Content-Disposition: attachment; filename="' . $filename . '"');}header("Pragma:no-cache");header("Expires:0");$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');$objWriter-&gt;save('php://output');##excel文件html显示(可用于调试)$objWriter = new \PHPExcel_Writer_HTML($objPHPExcel);$objWriter-&gt;save('php://output');利用mpdf库从phpexcel导出pdf文件$filename='a.pdf';$encoded_filename = rawurlencode($filename);$rendererName = \PHPExcel_Settings::PDF_RENDERER_MPDF; //指定通过mpdf类库导出pdf文件$rendererLibraryPath = 'PHPExcel/MPDF57'; //指定你下载的mpdf类库路径if (!\PHPExcel_Settings::setPdfRenderer(&nbsp; $rendererName,&nbsp; $rendererLibraryPath)) {&nbsp; die(&nbsp; &nbsp; 'Please set the $rendererName and $rendererLibraryPath values' .&nbsp; &nbsp; PHP_EOL .&nbsp; &nbsp; ' as appropriate for your directory structure'&nbsp; );}header('Content-type: application/pdf');if (preg_match("/MSIE/", $ua) || preg_match("/Trident\/7.0/", $ua) || preg_match("/Edge/", $ua)) {&nbsp; header('Content-Disposition: attachment; filename="' . $encoded_filename . '"');} else if (preg_match("/Firefox/", $ua)) {&nbsp; header("Content-Disposition: attachment; filename*=\"utf8''" . $file_name . '"');} else {&nbsp; header('Content-Disposition: attachment; filename="' . $file_name . '"');}header("Pragma:no-cache");header("Expires:0");$objWriter = new \PHPExcel_Writer_PDF($objPHPExcel);$objWriter-&gt;setPreCalculateFormulas(false);$objWriter-&gt;save('php://output');################################pdf导出失败的一些错误解决方法################################1 pdf中文乱码问题PHPExcel/Classes/PHPExcel/Writer/PDF/mPDF.php:105处加两行设定:$pdf-&gt;useAdobeCJK = true;$pdf-&gt;SetAutoFont(AUTOFONT_ALL);##2 类库里面多处preg_replace调用使用了元字符e,而部分低版本php不支持正则表达式e元字符e元字符的不当使用并导致pdf报错的触发点在类库里面大概有五六处吧,由于e元字符是一个shell下的子进程php调用,所以报错信息不会反馈到当前php进程中,故即便你配置了错误打印到屏幕,页面也不会显示报错信息,必须查看php报错日志查看php报错日志,把提示的preg_replace中元字符e的调用替换为preg_replace_callback 形式的调用##3 部分版本phpexcel类库有单元格样式判断错误lib/PHPExcel/Classes/PHPExcel/Writer/HTML.php:1236处加个if判断if (!$this-&gt;_useInlineCss) {&nbsp; $cssClass .= ' style' . $pSheet-&gt;getCell($endCellCoord)-&gt;getXfIndex();。

相关文档
最新文档