php导出Excel
来源:互联网 发布:卢本伟淘宝店地址 编辑:程序博客网 时间:2024/04/29 14:50
Google的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*//*** Generating excel documents on-the-fly from PHP5* * Uses the excel XML-specification to generate a native* XML document, readable/processable by excel.* * @package Utilities* @subpackage Excel* @author Oliver Schwarz <oliver.schwarz@vaicon.de>* @version 1.1* * @todo Issue #4: Internet Explorer 7 does not work well with the given header* @todo Add option to give out first line as header (bold text)* @todo Add option to give out last line as footer (bold text)* @todo Add option to write to file*/class Excel_XML{/*** Header (of document)* @var string*/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\">";/*** Footer (of document)* @var string*/private $footer = "</Workbook>";/*** Lines to output in the excel document* @var array*/private $lines = array();/*** Used encoding* @var string*/private $sEncoding;/*** Convert variable types* @var boolean*/private $bConvertTypes;/*** Worksheet title* @var string*/private $sWorksheetTitle;/*** Constructor* * The constructor allows the setting of some additional* parameters so that the library may be configured to* one's needs.* * On converting types:* When set to true, the library tries to identify the type of* the variable value and set the field specification for Excel* accordingly. Be careful with article numbers or postcodes* starting with a '0' (zero)!* * @param string $sEncoding Encoding to be used (defaults to UTF-8)* @param boolean $bConvertTypes Convert variables to field specification* @param string $sWorksheetTitle Title for the worksheet*/public function __construct($sEncoding = 'UTF-8', $bConvertTypes = false, $sWorksheetTitle = 'Table1'){$this->bConvertTypes = $bConvertTypes;$this->setEncoding($sEncoding);$this->setWorksheetTitle($sWorksheetTitle);}/*** Set encoding* @param string Encoding type to set*/public function setEncoding($sEncoding){$this->sEncoding = $sEncoding;}/*** Set worksheet title* * Strips out not allowed characters and trims the* title to a maximum length of 31.* * @param string $title Title for worksheet*/public function setWorksheetTitle ($title){$title = preg_replace ("/[\\\|:|\/|\?|\*|\[|\]]/", "", $title);$title = substr ($title, 0, 31);$this->sWorksheetTitle = $title;}/*** Add row* * Adds a single row to the document. If set to true, self::bConvertTypes* checks the type of variable and returns the specific field settings* for the cell.* * @param array $array One-dimensional array with row content*/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";}/*** Add an array to the document* @param array 2-dimensional array*/public function addArray ($array){foreach ($array as $k => $v)$this->addRow ($v);}/*** Generate the excel file* @param string $filename Name of excel file to generate (...xls)*/public function generateXML ($filename = 'excel-export'){// correct/validate filename$filename = preg_replace('/[^aA-zZ0-9\_\-]/', '', $filename);// deliver header (as recommended in php manual)header("Content-Type: application/vnd.ms-excel; charset=" . $this->sEncoding);header("Content-Disposition: inline; filename=\"" . $filename . ".xls\"");// print out document to the browser// need to use stripslashes for the damn ">"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导出excel
<?phprequire 'excel.class.php';//引用谷歌的phpexcel 类$xls = new Excel_XML();// create a simple 2-dimensional array$data = array(1 => array ('姓名', '状态'), array('Schwarz', 'Oliver'), array('Test', 'Peter'));// generate file (constructor parameters are optional)$xls = new Excel_XML('UTF-8', false, '我的报表');$xls->addArray($data);$xls->generateXML('mytest');?>
- php导出excel
- PHP 导出EXCEL报表
- php导出Excel方法
- PHP导出Excel文件
- php导出Excel
- PHP导出Excel
- php导出excel
- PHP导出excel乱码
- PHP导出导入Excel
- php导出excel
- PHP导出EXCEL
- php导出excel乱码
- php导出excel
- php导出excel
- php导出Excel
- php简单导出excel
- PHP导出Excel文件
- PHP导出excel
- mecached 基础(二)--memcached安装和初次使用
- 更改表的owner
- Java内部类总结
- 冒泡排序,选择排序,插入排序
- ORA-27102:out of memeory 故障处理一例
- php导出Excel
- 批处理注册动态链接库文件(**.dll)
- 301 Redirect 资源永久重定向的实现方法
- 自学篇-进制转换(一)
- POJ 1200 Crazy Search hash水题
- 递归
- 【ORACLE】oracle9i/10g/11g各种下载
- mssql 数据库还原
- 获取每一帧的长度