php用Simple Excel导出xls
生活随笔
收集整理的這篇文章主要介紹了
php用Simple Excel导出xls
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
因為前幾天寫了篇文章,用php-excel-reader類導入excel內容,順便說些excel導出問題,我用的是simple excel,一個很簡單的導出xls類,特好用!
simple excel源碼如下:
?
<?php/*** Simple excel generating from PHP5** @package Utilities* @license http://www.opensource.org/licenses/mit-license.php* @author Oliver Schwarz <oliver.schwarz@gmail.com>* @version 1.0*/class Excel_Xml {private $header = "<?xml version=\"1.0\" encoding=\"%s\"?\>\n<Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\" xmlns:x=\"urn:schemas-microsoft-com:office:excel\" xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\" xmlns:html=\"http://www.w3.org/TR/REC-html40\">";private $footer = "</Workbook>";private $lines = array();private $sEncoding;private $bConvertTypes;private $sWorksheetTitle;public function __construct($sEncoding = 'UTF-8', $bConvertTypes = false, $sWorksheetTitle = 'Table1'){$this->bConvertTypes = $bConvertTypes;$this->setEncoding($sEncoding);$this->setWorksheetTitle($sWorksheetTitle);}public function setEncoding($sEncoding){$this->sEncoding = $sEncoding;}public function setWorksheetTitle ($title){$title = preg_replace ("/[\\\|:|\/|\?|\*|\[|\]]/", "", $title);$title = substr ($title, 0, 31);$this->sWorksheetTitle = $title;}private function addRow ($array){$cells = "";foreach ($array as $k => $v):$type = 'String';if ($this->bConvertTypes === true && is_numeric($v)):$type = 'Number';endif;$v = htmlentities($v, ENT_COMPAT, $this->sEncoding);$cells .= "<Cell><Data ss:Type=\"$type\">" . $v . "</Data></Cell>\n";endforeach;$this->lines[] = "<Row>\n" . $cells . "</Row>\n";}public function addArray ($array){foreach ($array as $k => $v)$this->addRow ($v);}public function generateXML ($filename = 'excel-export'){$filename = preg_replace('/[^aA-zZ0-9\_\-]/', '', $filename);header("Content-Type: application/vnd.ms-excel; charset=" . $this->sEncoding);header("Content-Disposition: inline; filename=\"" . $filename . ".xls\"");echo stripslashes (sprintf($this->header, $this->sEncoding));echo "\n<Worksheet ss:Name=\"" . $this->sWorksheetTitle . "\">\n<Table>\n";foreach ($this->lines as $line)echo $line;echo "</Table>\n</Worksheet>\n";echo $this->footer;}}?>
使用php案例如下:
?
?
?
?
<?php/*** @author mckee* @blog www.phpddt.com*/require_once 'excel.class.php';$xls = new Excel_Xml('UTF-8',false,'測試');$data = array(1 => array('名稱','地址'),2 => array('php點點通','www.phpddt.com'),3 => array('百度','www.baidu.com'));$xls->addArray($data);$xls->generateXML('name4test');?> http://www.phpddt.com/php/Simple-Excel.html?
轉載于:https://www.cnblogs.com/liuensong/archive/2012/12/12/10140385.html
總結
以上是生活随笔為你收集整理的php用Simple Excel导出xls的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pthread-win32 semaph
- 下一篇: wamp配置多少站点