因为前几天写了篇文章,用php-excel-reader类导入excel内容,顺便说些excel导出问题,我用的是simple excel,一个很简单的导出xls类,特好用! simple excel源码如下: <div class="codetitle"><a style="CURSOR: pointer" data="49309" class="copybut" id="copybut49309" onclick="doCopy('code49309')"> 代码如下:<div class="codebody" id="code49309"> <?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 = ""; 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,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 .= "<Data ss:Type="$type">" . $v . " | n"; endforeach; $this->lines[] = "n" . $cells . " n"; } public function addArray ($array) { foreach ($array as $k => $v) $this->addRow ($v); } public function generateXML ($filename = 'excel-export') { $filename = pregreplace('/[^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 . "">nn"; foreach ($this->lines as $line) echo $line; echo " nn"; echo $this->footer; } } ?> 使用php案例如下: <div class="codetitle"><a style="CURSOR: pointer" data="41023" class="copybut" id="copybut41023" onclick="doCopy('code41023')"> 代码如下:<div class="codebody" id="code41023"> <?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'); ?> 导出结果如下图: <IMG title="用Simple Excel导出xls" style="DISPLAY: block; MARGIN-LEFT: auto; MARGIN-RIGHT: auto" alt="用Simple Excel导出xls" src="https://files.52php.cn/file_images/article/201212/2012120611154224.png"> (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|