<?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
新聞熱點
疑難解答
圖片精選