//引用代码
//展示代码仅生成两个工作表,动态生成多个要做循环。
require 'php-excel.class.php';
$xls = new Excel($oneSheetName); //构造函数,参数为第一个sheet名称
$xls->worksheets[$oneSheetName]->addRow(array("个人信息","所填信息"));
foreach($infoData as $item){
$xls->worksheets[$oneSheetName]->addRow($item);
}
$xls->addsheet($twoSheetName);//新建一个sheet,参数为sheet名称
$xls->worksheets[$twoSheetName]->addRow(array("序号","问卷问题","所填答案"));//在第二个sheet添加一行
foreach($allData as $value){
$xls->worksheets[$twoSheetName]->addRow($value);
}
$xls->generate($fileName);//下载excel,参数为文件名
//封装类做调用
<?php
class 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')
{
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>";
}
}
?>