<?phpclass WorkSheet{ PRivate $lines = array(); public $sWorksheetTitle; public function __construct($sWorksheetTitle) { $this->setWorksheetTitle($sWorksheetTitle); } public function setWorksheetTitle ($title) { $title = preg_replace ("/[///¦:¦//¦/?¦/*¦/[¦/]]/", "", $title); $title = substr ($title, 0, 31); $this->sWorksheetTitle = $title; } public function addRow ($array) { $cells = ""; foreach ($array as $k => $v){ $type = 'String'; $v = htmlentities($v, ENT_COMPAT, "UTF-8"); $cells .= "<Cell><Data ss:Type=/"$type/">" . $v . "</Data></Cell>/n"; } $this->lines[] = "<Row>/n" . $cells . "</Row>/n"; } public function printline() { foreach ($this->lines as $line) { echo $line; } }}class Excel{ public $worksheets = array(); public function __construct($sWorksheetTitle) { $this->addsheet($sWorksheetTitle); } public function addsheet($title) { $this->worksheets[$title] = new WorkSheet($title); } public function generate ($filename = 'excel-export') { $filename = preg_replace('/[^aA-zZ0-9/_/-]/', '', $filename); header("Content-Type: application/vnd.ms-excel; charset=UTF-8"); header("Content-Disposition: inline; filename=/"" . $filename . ".xls/""); echo stripslashes("<?xml version=/"1.0/" encoding=/"UTF-8/"?/>/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/">"); foreach ($this->worksheets as $worksheet) { echo "/n<Worksheet ss:Name=/"" . $worksheet->sWorksheetTitle . "/">/n<Table>/n"; $worksheet->printline(); echo "</Table>/n</Worksheet>/n"; } echo "</Workbook>"; }}?>使用方法:<?phprequire 'php-excel.class.php';$xls = new Excel('Sheet'); //构造函数,参数为第一个sheet名称$xls->worksheets['Sheet']->addRow(array("1","2","3")); //添加一行,数据为1,2,3$xls->addsheet('Test');//新建一个sheet,参数为sheet名称$xls->worksheets['Test']->addRow(array("3","2","3"));//在第二个sheet添加一行$xls->generate('my-test');//下载excel,参数为文件名?>转自:https://leo108.com/pid-1464.asp
新闻热点
疑难解答
图片精选