很早的時候,用php生成execl都是件麻煩的事,我一般都會用csv來替代,現在這類工具就很多了,並且比較成熟了。不光有excel的,word,pdf。
1,php excelreader操作excel的php類,生成,讀取excel等。功能很強大。
下載地址:http://sourceforge.net/projects/phpexcelreader/
解壓後,裡面有很多例子,調用方法簡單。
例1
代碼如下 復制代碼<?php
/**
*
* @copyright 2007-2012 Xiaoqiang.
* @author Xiaoqiang.Wu <[email protected]>
* @version 1.01
*/
error_reporting(E_ALL);
date_default_timezone_set('Asia/ShangHai');
/** PHPExcel_IOFactory */
require_once '../Classes/PHPExcel/IOFactory.php';
// Check prerequisites
if (!file_exists("31excel5.xls")) {
exit("not found 31excel5.xls.n");
}
$reader = PHPExcel_IOFactory::createReader('Excel5'); //設置以Excel5格式(Excel97-2003工作簿)
$PHPExcel = $reader->load("31excel5.xls"); // 載入excel文件
$sheet = $PHPExcel->getSheet(0); // 讀取第一??工作表
$highestRow = $sheet->getHighestRow(); // 取得總行數
$highestColumm = $sheet->getHighestColumn(); // 取得總列數
$highestColumm= PHPExcel_Cell::columnIndexFromString($colsNum); //字母列轉換為數字列 如:AA變為27
/** 循環讀取每個單元格的數據 */
for ($row = 1; $row <= $highestRow; $row++){//行數是以第1行開始
for ($column = 0; $column < $highestColumm; $column++) {//列數是以第0列開始
$columnName = PHPExcel_Cell::stringFromColumnIndex($column);
echo $columnName.$row.":".$sheet->getCellByColumnAndRow($column, $row)->getValue()."<br />";
}
}
?>
例2
代碼如下 復制代碼<?php
/**
*
* @copyright 2007-2012 Xiaoqiang.
* @author Xiaoqiang.Wu <[email protected]>
* @version 1.01
*/
error_reporting(E_ALL);
date_default_timezone_set('Asia/ShangHai');
/** PHPExcel_IOFactory */
require_once '../Classes/PHPExcel/IOFactory.php';
// Check prerequisites
if (!file_exists("31excel5.xls")) {
exit("not found 31excel5.xls.n");
}
$reader = PHPExcel_IOFactory::createReader('Excel5'); //設置以Excel5格式(Excel97-2003工作簿)
$PHPExcel = $reader->load("31excel5.xls"); // 載入excel文件
$sheet = $PHPExcel->getSheet(0); // 讀取第一??工作表
$highestRow = $sheet->getHighestRow(); // 取得總行數
$highestColumm = $sheet->getHighestColumn(); // 取得總列數
/** 循環讀取每個單元格的數據 */
for ($row = 1; $row <= $highestRow; $row++){//行數是以第1行開始
for ($column = 'A'; $column <= $highestColumm; $column++) {//列數是以A列開始
$dataset[] = $sheet->getCell($column.$row)->getValue();
echo $column.$row.":".$sheet->getCell($column.$row)->getValue()."<br />";
}
}
?>
2,phpdocx操作word的php類
PHPDocx是一個用於生成完全動態的、完全兼容的Word文檔的PHP類庫。
你可能需要直接從任何數據集合或者表格文件來生成報表。這些報表也許會包括圖標、圖片、表格、開頭、結束等等數據。
PHPDocx能夠使用一些預定義的模板文件來生成Word文檔,這大大簡化了工作量。使用很少的一些代碼,你能夠將PHPDocx集成到你的WEB站點或網絡應用,這樣能夠為你的用戶或雇員提供一個很有價值的服務。
例
代碼如下 復制代碼Basic example
// Include the PHPWord.php, all other classes were loaded by an autoloader
require_once 'PHPWord.php';
// Create a new PHPWord Object
$PHPWord = new PHPWord();
// Every element you want to append to the word document is placed in a section. So you need a section:
$section = $PHPWord->createSection();
// After creating a section, you can append elements:
$section->addText('Hello world!');
// You can directly style your text by giving the addText function an array:
$section->addText('Hello world! I am formatted.', array('name'=>'Tahoma', 'size'=>16, 'bold'=>true));
// If you often need the same style again you can create a user defined style to the word document
// and give the addText function the name of the style:
$PHPWord->addFontStyle('myOwnStyle', array('name'=>'Verdana', 'size'=>14, 'color'=>'1B2232'));
$section->addText('Hello world! I am formatted by a user defined style', 'myOwnStyle');
// You can also putthe appended element to local object an call functions like this:
$myTextElement = $section->addText('Hello World!');
$myTextElement->setBold();
$myTextElement->setName('Verdana');
$myTextElement->setSize(22);
// At least write the document to webspace:
$objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007');
$objWriter->save('helloWorld.docx');
下載地址:http://www.phpdocx.com/
在線演示地址:http://www.phpdocx.com/demo/sample-word-report
3,tcpdf操作pdf的php類
下載地址:http://sourceforge.net/projects/html2fpdf/?source=recommended
在線演示地址:http://www.tcpdf.org/examples.php
下載後,基本上都是有例子的,下載後的東西比較大,這是因為,裡面有很多例子,供例子用的pdf,word文件這類,也有很多字體文件。要用的類文件其實並不大的。記錄一下用的時候,就不用到處找了。哈哈。
TCPDF自帶的65個examples之後,就能完全掌握它的使用方法了。
大體可以分為如下5個步驟:
1. require_once導入tcpdf.php文件和config/lang/目錄的相應語系
2. 實例化TCPDF
3. 設置PDF文檔的格式,包括文檔信息、頁眉、頁尾、字體、外間距、圖片邊框、分頁等
4. 導入PDF文檔的內容,可以是單行或多行簡單字符串,也可以HTML格式的字符串等
5. 輸出PDF文檔