:::

14. 產生Excel報表

一、 PHPExcel(http://phpexcel.codeplex.com)

  1. 可讀取、產生Excel 97~2007的檔案,甚至可輸出PDF、CSV、HTML檔。
  2. 安裝需求:PHP 5.2.0 以上、需開啟php_zip、php_xml函式庫。

二、 基本架構

<?php
include_once "header.php";
require_once 'class/PHPExcel.php';    //引入 PHPExcel 物件庫
require_once 'class/PHPExcel/IOFactory.php';    //引入 PHPExcel_IOFactory 物件庫
$objPHPExcel = new PHPExcel();  //實體化Excel
//----------內容-----------//
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename=通訊錄.xls');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->setPreCalculateFormulas(false);
$objWriter->save('php://output');
exit;
?>

三、 建立工作表並指定名稱

$objPHPExcel->setActiveSheetIndex(0);  //設定預設顯示的工作表
$objActSheet = $objPHPExcel->getActiveSheet(); //指定預設工作表為 $objActSheet
$objActSheet->setTitle("通訊錄");  //設定標題
$objPHPExcel->createSheet(); //建立新的工作表,上面那三行再來一次,編號要改

四、 指定儲存格內容

  1. 有以下類型可設定:TYPE_BOOL、TYPE_ERROR、TYPE_FORMULA、TYPE_INLINE、TYPE_NULL、TYPE_NUMERIC、TYPE_STRING
$objActSheet->setCellValue("A1", '姓名')->setCellValue("B1", '電話');
$objActSheet->setCellValueExplicit("C2", '0987654321',PHPExcel_Cell_DataType:: TYPE_STRING);

五、 調整儲存格欄寬

$objActSheet->getColumnDimension('A')->setWidth(8);  //固定寬度8
$objActSheet->getColumnDimension('B')->setAutoSize(true);  //自動寬度

六、 設定文字、儲存格樣式及對齊方向

$objPHPExcel->getDefaultStyle()->getFont()->setName('標楷體');
$objPHPExcel->getDefaultStyle()->getFont()->setSize(16);
$objActSheet->getStyle('A1:E1')->getFill()->setFillType(PHPExcel_Style_Fill:: FILL_SOLID)->getStartColor()->setARGB('FFFFCC99');

七、 合併儲存格

$objActSheet->mergeCells("A10:D10")->setCellValue("A10", '資料數共計');

八、 插入公式

$n=$i-1;
$objActSheet->setCellValue("E{$i}", "=COUNTA(E2:E{$n})");

九、 保護儲存格

$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true);
$objPHPExcel->getActiveSheet()->protectCells("E{$i}", 'password');


 


:::

搜尋

QR Code 區塊

https%3A%2F%2Ftad0616.net%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbdsn%3D799%26tbsn%3D26

書籍目錄

展開 | 闔起

線上使用者

38人線上 (17人在瀏覽線上書籍)

會員: 0

訪客: 38

更多…