目錄
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和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

PHP開發技巧:如何使用PHPExcel操作MySQL資料庫 PHP開發技巧:如何使用PHPExcel操作MySQL資料庫 Jul 02, 2023 pm 12:21 PM

PHP開發技巧:如何使用PHPExcel操作MySQL資料庫隨著網路的蓬勃發展,大量的資料儲存於資料庫中,並且需要進行匯入、匯出、處理等操作。在PHP開發中,PHPExcel是一個強大的函式庫,可以簡化與Excel檔案的交互,實現資料的匯入與匯出。本文將介紹如何使用PHPExcel來操作MySQL資料庫,實現資料的匯入和匯出功能。 PHPExcel的安裝與配置

See all articles