php生成多页excel,PHP生成EXCEL,支持多个SHEET

php-excel.class.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 .= "" . $v . "\n";

}

$this->lines[] = "\n" . $cells . "\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");

foreach ($this->worksheets as $worksheet)

{

echo "\nsWorksheetTitle . "\">\n

$worksheet->printline();

echo "

\n\n";

}

echo "";

}

}

?>

使用方法:

require '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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值