php直接excel数据,PHP不用PHPExcel导出Excel数据的简单类

很多人用PHP来导出数据到Excel,都是采用phpexcel这个老外写的程序,这个程序很强大,但是实在是太庞大了,解压都17MB了,实在是太臃肿了。火端网络最近需要用PHP导出数据到Excel文件,在网上找的一个类,很简单,测试成功,虽然导出xsl文件后,打开提示“格式不对,是否要打开”,但选择“是”后还是可以正常显示导出的数据的。

下面就是类代码,使用也很简单:

/**

* 生成excel文件操作

*

* @author wesley wu

* @date 2013.12.9

*/

class Excel

{

private $limit = 10000;

public function download($data, $fileName)

{

$fileName = $this->_charset($fileName);

header("Content-Type: application/vnd.ms-excel; charset=gbk");

header("Content-Disposition: inline; filename=\"" . $fileName . ".xls\"");

echo "<?xml version=\"1.0\" encoding=\"gbk\"?>\n

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\">";

echo "\n\n

$guard = 0;

foreach($data as $v)

{

$guard++;

if($guard==$this->limit)

{

ob_flush();

flush();

$guard = 0;

}

echo $this->_addRow($this->_charset($v));

}

echo "

\n\n";

}

private function _addRow($row)

{

$cells = "";

foreach ($row as $k => $v)

{

$cells .= "" . $v . "\n";

}

return "\n" . $cells . "\n";

}

private function _charset($data)

{

if(!$data)

{

return false;

}

if(is_array($data))

{

foreach($data as $k=>$v)

{

$data[$k] = $this->_charset($v);

}

return $data;

}

return iconv('utf-8', 'gbk', $data);

}

}

//使用方法

$excel = new Excel();

$data = array(

array('姓名','标题','网址','价格','数据5','数据6','数据7'),

array('火端网络','数据2','https://www.huoduan.com','数据4','数据5','数据6','数据7'),

array('数据1','数据2','数据3','数据4','数据5','数据6','数据7'),

array('数据1','数据2','数据3','数据4','数据5','数据6','数据7'),

array('数据1','数据2','数据3','数据4','数据5','数据6','数据7'),

array('数据1','数据2','数据3','数据4','数据5','数据6','数据7')

);

$excel->download($data, '这是一个测试');

?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值