目录
PHPExcel笔记, mpdf导出,phpexcelmpdf
phpexcel常用处理
利用mpdf库从phpexcel导出pdf文件
首页 php教程 php手册 PHPExcel笔记, mpdf导出,phpexcelmpdf

PHPExcel笔记, mpdf导出,phpexcelmpdf

Jun 13, 2016 am 08:40 AM
phpexcel

PHPExcel笔记, mpdf导出,phpexcelmpdf

phpexcel常用处理

##导入类库
require 'PHPExcel/Classes/PHPExcel.php';
require 'PHPExcel/Classes/PHPExcel/Writer/Excel5.php'; //非07格式的写出类
 
##基础属性设定
$objPHPExcel = \PHPExcel_IOFactory::load('a.xls'); //读入指定excel文件
$objPHPExcel->setActiveSheetIndex(0); //指定活动工作表
$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setName('宋体');
$objPHPExcel->getProperties()->setTitle('xxx');
 
##单元格编辑
$objPHPExcel->getActiveSheet()->setCellValue('A3', 'xxx'); //设定A3单元格值为xxx
 
##单元格绘图
$objDrawing = new \PHPExcel_Worksheet_Drawing();
$objDrawing->setPath('a.jpg'); //指定图片路径。若要远程图片需PHPExcel/Classes/PHPExcel/Worksheet/Drawing.php:106处file_exists换成file_get_contents
$objDrawing->setCoordinates('A4'); //指定在A4单元格绘图
$objDrawing->setName('Photo');
$objDrawing->setDescription('Photo');
$objDrawing->setHeight(120);
$objDrawing->setWidth(100);
$objDrawing->setOffsetX(7);
$objDrawing->setOffsetY(7);
$objDrawing->setWorksheet($objPHPExcel->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)) {
  header('Content-Disposition: attachment; filename="' . $encoded_filename . '"');
} else if (preg_match("/Firefox/", $ua)) {
  header("Content-Disposition: attachment; filename*=\"utf8''" . $filename . '"');
} else {
  header('Content-Disposition: attachment; filename="' . $filename . '"');
}
header("Pragma:no-cache");
header("Expires:0");
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
 
##excel文件html显示(可用于调试)
$objWriter = new \PHPExcel_Writer_HTML($objPHPExcel);
$objWriter->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(
  $rendererName,
  $rendererLibraryPath
)) {
  die(
    'Please set the $rendererName and $rendererLibraryPath values' .
    PHP_EOL .
    ' as appropriate for your directory structure'
  );
}
header('Content-type: application/pdf');
if (preg_match("/MSIE/", $ua) || preg_match("/Trident\/7.0/", $ua) || preg_match("/Edge/", $ua)) {
  header('Content-Disposition: attachment; filename="' . $encoded_filename . '"');
} else if (preg_match("/Firefox/", $ua)) {
  header("Content-Disposition: attachment; filename*=\"utf8''" . $file_name . '"');
} else {
  header('Content-Disposition: attachment; filename="' . $file_name . '"');
}
header("Pragma:no-cache");
header("Expires:0");
$objWriter = new \PHPExcel_Writer_PDF($objPHPExcel);
$objWriter->setPreCalculateFormulas(false);
$objWriter->save('php://output');
 
 
##############################
##pdf导出失败的一些错误解决方法
##############################
 
##1 pdf中文乱码问题
PHPExcel/Classes/PHPExcel/Writer/PDF/mPDF.php:105处加两行设定:
$pdf->useAdobeCJK = true;
$pdf->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->_useInlineCss) {
  $cssClass .= ' style' . $pSheet->getCell($endCellCoord)->getXfIndex();
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

完全指南:如何使用php扩展PHPExcel处理Excel文件 完全指南:如何使用php扩展PHPExcel处理Excel文件 Jul 28, 2023 pm 10:01 PM

完全指南:如何使用PHP扩展PHPExcel处理Excel文件引言:在处理大量数据和统计分析时,Excel文件经常被用作数据存储和交换的一种常见格式。使用PHP扩展PHPExcel,我们可以轻松地读取、写入和修改Excel文件,从而有效地处理Excel数据。本文将介绍如何使用PHP扩展PHPExcel来处理Excel文件,并提供代码示例。一、安装PHPExc

PHP开发:使用 PHPExcel 处理 Excel 文件 PHP开发:使用 PHPExcel 处理 Excel 文件 Jun 15, 2023 pm 03:45 PM

随着数字化时代的到来,数据已经成为了我们日常生活和工作中最重要的一部分,而Excel文件则成为数据处理的重要工具之一。相信很多PHP开发者也会在工作中经常遇到使用Excel文件进行数据处理和操作的情况。本文将为大家介绍使用PHPExcel库来处理Excel文件的方法和注意事项。什么是PHPExcel?PHPExcel是一个PHP类

怎么用phpexcel将Excel文件转成CSV文件并打开 怎么用phpexcel将Excel文件转成CSV文件并打开 Mar 27, 2023 pm 04:16 PM

​PHPEXCEL是一个优秀的PHP读写Excel文件的类库,它提供了非常充分的API,能够让我们使用PHP来读写Excel文件。而有些时候,我们需要将Excel文件转换成CSV文件,在一些场合下使用。那么,本文主要讲述如何使用PHPEXCEL类库将Excel文件转换成CSV文件,并进行打开。

phpexcel为什么成为PHP开发者关注的对象 phpexcel为什么成为PHP开发者关注的对象 Mar 27, 2023 pm 06:15 PM

PHPExcel是一种处理微软 Excel 文件的开源 PHP 库,可以读取、创建、修改和保存 Excel 文件。它是一个强大且高度可定制的工具,可用于处理数据分析、报告生成、数据导入和导出等任务。在本文中,将介绍PHPExcel为什么成为PHP开发者关注的对象。

php如何使用PHPExcel处理Excel文件? php如何使用PHPExcel处理Excel文件? Jun 01, 2023 pm 02:01 PM

PHPExcel是一款开源的PHP库,用于处理MicrosoftExcel(.xls和.xlsx)文件。它可以读取、写入和操作Excel文件,提供了丰富的函数和方法。在PHP项目中使用PHPExcel库,可以快速方便地处理Excel文件,实现数据的导入、导出和数据处理等功能。本文将介绍如何使用PHPExcel处理Excel文件。一、安装PHPExcel要使

使用PHP和PHPExcel创建Excel文件 使用PHP和PHPExcel创建Excel文件 May 11, 2023 am 08:40 AM

在如今信息快速传递的时代,数据的处理和存储变得越来越重要。而Excel表格的使用是很多人的首选,这是因为Excel表格可以整合各种数据并且可以轻松地进行分析和处理。为了更加高效地完成Excel表格的创建,我们可以使用PHP和PHPExcel这两个强大的工具。在本篇文章中,我们将介绍如何使用PHP和PHPExcel创建Excel文件。1.安装PHPExcel首

PHP开发技巧:如何使用PHPExcel操作MySQL数据库 PHP开发技巧:如何使用PHPExcel操作MySQL数据库 Jul 02, 2023 pm 12:21 PM

PHP开发技巧:如何使用PHPExcel操作MySQL数据库随着互联网的蓬勃发展,大量的数据被存储于数据库中,并且需要进行导入、导出、处理等操作。在PHP开发中,PHPExcel是一个强大的库,可以简化与Excel文件的交互,实现数据的导入与导出。本文将介绍如何使用PHPExcel来操作MySQL数据库,实现数据的导入和导出功能。PHPExcel的安装和配置

PHP开发技巧:如何使用PHPExcel和PHPExcel_IOFactory操作MySQL数据库 PHP开发技巧:如何使用PHPExcel和PHPExcel_IOFactory操作MySQL数据库 Jul 02, 2023 pm 02:28 PM

PHP开发技巧:如何使用PHPExcel和PHPExcel_IOFactory操作MySQL数据库概述:在Web开发中,处理Excel文件是一个常见且重要的任务。PHPExcel是一个功能强大而且易于使用的PHP库,它可以帮助我们读取和写入Excel文件。本文将介绍如何使用PHPExcel和PHPExcel_IOFactory库来操作MySQL数据库。步骤1

See all articles