用Simple Excel导出xls实现方法
网络编程 2021-07-05 09:49www.168986.cn编程入门
因为前几天写了篇文章,用php-excel-reader类导入excel内容,顺便说些excel导出问题,需要的朋友可以了解下
因为前几天写了篇文章,用,顺便说些excel导出问题,我用的是simple excel,一个很简单的导出xls类,特好用!
simple excel源码如下:
<?php
/**
* Simple excel generating from PHP5
*
* @package Utilities
* @license http://.opensource./licenses/mit-license.php
* @author Oliver Schwarz <oliver.schwarz@gmail.>
* @version 1.0
*/
class Excel_Xml
{
private $header = "<?xml version=\"1.0\" encoding=\"%s\"?\>\n<Workbook xmlns=\"urn:schemas-microsoft-:office:spreadsheet\" xmlns:x=\"urn:schemas-microsoft-:office:excel\" xmlns:ss=\"urn:schemas-microsoft-:office:spreadsheet\" xmlns:html=\"http://.w3./TR/REC-html40\">";
private $footer = "</Workbook>";
private $lines = array();
private $sEncoding;
private $bConvertTypes;
private $sWorksheetTitle;
public function __construct($sEncoding = 'UTF-8', $bConvertTypes = false, $sWorksheetTitle = 'Table1')
{
$this->bConvertTypes = $bConvertTypes;
$this->setEncoding($sEncoding);
$this->setWorksheetTitle($sWorksheetTitle);
}
public function setEncoding($sEncoding)
{
$this->sEncoding = $sEncoding;
}
public function setWorksheetTitle ($title)
{
$title = preg_replace ("/[\\\|:|\/|\?|\*|\[|\]]/", "", $title);
$title = substr ($title, 0, 31);
$this->sWorksheetTitle = $title;
}
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";
}
public function addArray ($array)
{
foreach ($array as $k => $v)
$this->addRow ($v);
}
public function generateXML ($filename = 'excel-export')
{
$filename = preg_replace('/[^aA-zZ0-9\_\-]/', '', $filename);
header("Content-Type: application/vnd.ms-excel; charset=" . $this->sEncoding);
header("Content-Disposition: inline; filename=\"" . $filename . ".xls\"");
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案例如下:
<?php
/**
* @author mckee
* @blog .phpddt.
*/
require_once 'excel.class.php';
$xls = new Excel_Xml('UTF-8',false,'测试');
$data = array(
1 => array('名称','地址'),
2 => array('php点点通','.phpddt.'),
3 => array('百度','.baidu.')
);
$xls->addArray($data);
$xls->generateXML('name4test');
?>
导出结果如下图:
simple excel源码如下:
代码如下:
<?php
/**
* Simple excel generating from PHP5
*
* @package Utilities
* @license http://.opensource./licenses/mit-license.php
* @author Oliver Schwarz <oliver.schwarz@gmail.>
* @version 1.0
*/
class Excel_Xml
{
private $header = "<?xml version=\"1.0\" encoding=\"%s\"?\>\n<Workbook xmlns=\"urn:schemas-microsoft-:office:spreadsheet\" xmlns:x=\"urn:schemas-microsoft-:office:excel\" xmlns:ss=\"urn:schemas-microsoft-:office:spreadsheet\" xmlns:html=\"http://.w3./TR/REC-html40\">";
private $footer = "</Workbook>";
private $lines = array();
private $sEncoding;
private $bConvertTypes;
private $sWorksheetTitle;
public function __construct($sEncoding = 'UTF-8', $bConvertTypes = false, $sWorksheetTitle = 'Table1')
{
$this->bConvertTypes = $bConvertTypes;
$this->setEncoding($sEncoding);
$this->setWorksheetTitle($sWorksheetTitle);
}
public function setEncoding($sEncoding)
{
$this->sEncoding = $sEncoding;
}
public function setWorksheetTitle ($title)
{
$title = preg_replace ("/[\\\|:|\/|\?|\*|\[|\]]/", "", $title);
$title = substr ($title, 0, 31);
$this->sWorksheetTitle = $title;
}
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";
}
public function addArray ($array)
{
foreach ($array as $k => $v)
$this->addRow ($v);
}
public function generateXML ($filename = 'excel-export')
{
$filename = preg_replace('/[^aA-zZ0-9\_\-]/', '', $filename);
header("Content-Type: application/vnd.ms-excel; charset=" . $this->sEncoding);
header("Content-Disposition: inline; filename=\"" . $filename . ".xls\"");
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案例如下:
代码如下:
<?php
/**
* @author mckee
* @blog .phpddt.
*/
require_once 'excel.class.php';
$xls = new Excel_Xml('UTF-8',false,'测试');
$data = array(
1 => array('名称','地址'),
2 => array('php点点通','.phpddt.'),
3 => array('百度','.baidu.')
);
$xls->addArray($data);
$xls->generateXML('name4test');
?>
导出结果如下图:
编程语言
- 机械手焊接机器人编程 机械手焊接设备编程
- vb数据库编程实例,vb做数据库
- tiobe世界编程语言排行榜,全球编程语言排行
- 成都java编程培训 成都it编程培训中心
- 编程基础培训,编程基础知识培训
- flash游戏编程基础教程,flash游戏开发教程
- 不会英语能学编程吗 不会英语可以学程序员吗
- 爱心代码编程C语言 爱心代码编程c语言公式
- c语言编程学习入门 c语言编程快速入门
- 西门子plc编程培训 西门子plc编程培训班
- 哪里可以学编程 台州哪里可以学编程
- 少儿编程哪个好 少儿编程哪个品牌好
- 编程是什么意思,图形编程是什么意思
- c语言编程软件下载,c语言编程软件在哪下载
- java编程软件下载,java编程下载手机版
- ug编程培训学校,ug编程培训教程