• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP实现导出excel数据的类库用法详解

php 搞代码 4年前 (2022-01-22) 40次浏览 已收录 0个评论

这篇文章主要介绍了PHP实现导出excel数据的类库用法,结合实例形式分析了php操作Excel数据的读取与导出操作相关实现技巧,需要的朋友可以参考下

今天一个项目要做一个PHP导出数据用excel保存,在网上找到一个本来是想用phpexcel的,后来发现太难了,就换了一个但导出的歌声是XML

类写的很简单,但很实用。只能简单的导出字符串和数字二种格式。

如果你有兴趣,你可以拿去扩充了,基本够用。

class Excel_XML{//定于私有变量,顶部标签private $header = "<?xml version=\"1.0\" encoding=\"%s\"?\>\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\">";//底部标签private $footer = "</Workbook>";//定于行数组private $lines = array();//设置编码private $sEncoding;//设置类型private $bConvertTypes;//设置sheet名称private $sWorksheetTitle;//构造函数public function __construct( $sEncoding = 'UTF-8',$bConvertTypes = false,$sWorksheetTitle = 'Table1'){$this->bConvertTypes = $bConvertTypes;$this->setEncoding($sEncoding);$this->setWorksheetTitle($sWorksheetTitle);}//设置编码,在构造函数里面默认的事UTF-8格式public function setEncoding($sEncoding){$this->sEncoding = $sEncoding;}//设置excel的头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'; } $v = htmlentities($v, ENT_COMPAT, $this->sEncoding); $cells .= "<Cell><Data ss:Type=\<p style="color:transparent">。本文来源gao!%daima.com搞$代*!码网1</p><cite>搞代gaodaima码</cite>"$type\">" . $v . "</Data></Cell>\n";} $this->lines[] = "<Row>\n" . $cells . "</Row>\n"; //写入数组}//增加数组public function addArray ($array){foreach ($array as $k => $v) {$this->addRow ($v);}}//导出xmlpublic 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;}}

原理很简单,就是把数据数组,读出来,再用XML的标签封上,在用php自带的header()函数告诉游览器,就可以了。

调用:

public function import(){ $data = array( 1 => array ('学校名称',"队伍名称") ); foreach($this->team as $key=>$value) {  array_push($data,array($key, $value)); } $xls = new Excel_XML('UTF-8', false, 'My Test Sheet'); //实例化函数 $xls->addArray($data); $xls->generateXML('school'); //导出并设置名称}

上面是的写一个导出方式。在游览器运行就已经导出数组$this->team 里面的键和值了。

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

相关推荐:

PHP命名空间(namespace)

php的二维数组排序

PHP header()的7种用法

以上就是PHP实现导出excel数据的类库用法详解的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP实现导出excel数据的类库用法详解

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址