博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
输出word EXCEL xml html处理---H_print.php
阅读量:6676 次
发布时间:2019-06-25

本文共 9336 字,大约阅读时间需要 31 分钟。

H_table($H_ary); //返回:生成表格 $H_print -> H_sxml($H_ary); //返回:生成XML $H_print -> H_xml($H_ary,$H_fname,$H_char="gb2312"); //返回:输出xml 文件 $H_print -> H_json(); //返回:无-编写中 $H_print -> H_excel($H_ary,$H_fname,$H_char="gb2312"); //返回:生成EXCEL $H_print -> H_word($H_ary,$H_fname,$H_char="gb2312"); //返回:生成WORD $H_print -> H_html($H_ary,$H_fname,$H_char="gb2312"); //返回:生成HTML $H_print -> H_txt($H_ary,$H_fname,$H_char="gb2312"); //返回:生成TXT $H_print -> H_html_excel($H_url,$H_fname,$H_char="gb2312"); //返回:生成EXCEL $H_print -> H_html_word($H_url,$H_fname,$H_char="gb2312"); //返回:生成WORD*************************************///Start Classclass H_print{ public $H_debug = false; public $H_desce; //描述 public $H_ROOT_DIR; //文件地址路径 public $H_tbbor=0; //表格边框 public $H_tbbrc="#000000"; //表格边框色 public $H_tbwid=0; //表格宽度 public $H_tbhei=0; //表格高度 public $H_tbbgc="#FFFFFF"; //表格背景色 public $H_tbali = ""; //表格align public $H_tbrul = ""; //表格rules public function __construct(){ //当实例化一个对象的时候,这个对象的这个方法首先被调用 return ''; } public function __destruct(){ //当删除一个对象或对象操作终止的时候,调用该方法 return ''; } public function __get($key){ //当试图读取一个并不存在的属性的时候被调用 return '['.$key.'] Variable not find'; } public function __set($key,$val){ //当试图向一个并不存在的属性写入值的时候被调用 return '['.$key.'] Variable not find'; } public function __call($key,$args){ //当试图调用一个对象并不存在的方法时,调用该方法 return '['.$key.'] Function not find'; } public function __toString(){ //当打印一个对象的时候被调用 return $this -> H_desce(); } public function __clone(){ //当对象被克隆时,被调用 return "clone"; } public function H_desce(){ //返回描述 $this -> H_desce .= '类名:H_print-输出word EXCEL xml html处理;'; $this -> H_desce .= '函数:H_align($H_fg),返回:横向排列方式,参数:$H_fg-排列的方式;'; $this -> H_desce .= '函数:H_valgn($H_vfg),返回:纵向排列方式,参数:$H_vfg-排列的方式;'; $this -> H_desce .= '函数:H_table($H_ary),返回:生成表格,参数:$H_ary-生成表格的数据数组;'; $this -> H_desce .= '函数:H_sxml($H_ary),返回:生成XML,参数:$H_ary-生成XML的数据数组;'; $this -> H_desce .= '函数:H_xml($H_ary,$H_fname,$H_char="gb2312"),返回:输出xml 文件,参数:$H_ary-输出xml文件的数据数组.$H_fname-生成文件名称,$H_char-编码格式;'; $this -> H_desce .= '函数:H_json(),返回:无,参数:无;'; $this -> H_desce .= '函数:H_excel($H_ary,$H_fname,$H_char="gb2312"),返回:生成EXCEL,参数:$H_ary-生成EXCEL的数据数组.$H_fname-生成文件名称,$H_char-编码格式;'; $this -> H_desce .= '函数:H_word($H_ary,$H_fname,$H_char="gb2312"),返回:生成WORD,参数:$H_ary-生成WORD的数据数组.$H_fname-生成文件名称,$H_char-编码格式;'; $this -> H_desce .= '函数:H_html($H_ary,$H_fname,$H_char="gb2312"),返回:生成HTML,参数:$H_ary-生成HTML的数据数组.$H_fname-生成文件名称,$H_char-编码格式;'; $this -> H_desce .= '函数:H_txt($H_ary,$H_fname,$H_char="gb2312"),返回:生成TXT,参数:$H_ary-生成HTML的数据数组.$H_fname-生成文件名称,$H_char-编码格式;'; $this -> H_desce .= '函数:H_html_excel($H_url,$H_fname,$H_char="gb2312"),返回:生成EXCEL,参数:$H_url-生成EXCEL的网页超连接.$H_fname-生成文件名称,$H_char-编码格式;'; $this -> H_desce .= '函数:H_html_word($H_url,$H_fname,$H_char="gb2312"),返回:生成WORD,参数:$H_url-生成WORD的网页超连接.$H_fname-生成文件名称,$H_char-编码格式;'; return $this -> H_desce; } public function H_align($H_fg){ //返回横向排列方式 switch($H_fg){ case "1" : { //居左 return ' align="left"'; break; } case "2" : { //居中 return ' align="center"'; break; } case "3" : { //居右 return ' align="right"'; break; } default : return ''; } } public function H_valgn($H_vfg){ //返回纵向排列方式 switch($H_vfg){ case "1" : { //居上 return ' valign="top"'; break; } case "2" : { //居正 return ' valign="middle"'; break; } case "3" : { //居下 return ' valign="bottom"'; break; } default : return ''; } } public function H_table($H_ary){ //生成表格 $H_sxtd = array("rowspan","colspan","align","valign","width","height","boder","bodercolor","bgcolor"); $H_sxwz = array("b","color","size"); $H_ei = count($H_ary); $H_tbstr = ""; if($this -> H_tbbor != ""){ $H_tbstr .= ' border="'.$this -> H_tbbor.'"'; $H_tbstr .= $this -> H_tbbrc != "" ? ' bordercolor="'.$this -> H_tbbrc.'"':''; } $H_tbstr .= $this -> H_tbali != "" ? ' align="'.$this -> H_tbali.'"':''; $H_tbstr .= $this -> H_tbwid > 0 ? ' width="'.$this -> H_tbwid.'"':''; $H_tbstr .= $this -> H_tbhei > 0 ? ' height="'.$this -> H_tbhei.'"':''; $H_tbstr .= $this -> H_tbbgc != "" ? ' bgcolor="'.$this -> H_tbbgc.'"':''; //设置表格属性 $H_estr = $H_ei > 0 ? '
':''; for($H_i = 0;$H_i < $H_ei;$H_i++){ $H_estr .= ''; $H_ej = count($H_ary[$H_i]); for($H_j = 0;$H_j < $H_ej;$H_j++){ $H_td = ""; $H_tdwz = ""; //标题(处理注释) $H_hdtm = explode("//",$H_ary[$H_i][$H_j]); $H_zstr = $H_hdtm[0].($H_hdtm[1] != ''? '('.$H_hdtm[1].')':''); $H_temp = explode("|",$H_zstr); //处理单格属性 $H_tmtd = explode(",",$H_temp[1]); for($i = 0;$i < count($H_tmtd);$i++){ $H_tm = explode("=",$H_tmtd[$i]); $H_tm[0] = strtolower($H_tm[0]); //转成小写 if(in_array($H_tm[0],$H_sxtd,true)) $H_td .= ' '.$H_tm[0].'="'.$H_tm[1].'"'; } //处理单格文字属性 $H_tmtd = explode(",",$H_temp[2]); for($i = 0;$i < count($H_tmtd);$i++){ $H_tm = explode("=",$H_tmtd[$i]); $H_tm[0] = strtolower($H_tm[0]); //转成小写 if(in_array($H_tm[0],$H_sxwz,true)){ if($H_tm[0] == "b"){ $H_temp[0] = '
'.$H_temp[0].''; }else{ $H_tdwz .= ' '.$H_tm[0].'="'.$H_tm[1].'"'; } } } $H_temp[0] = $H_tdwz != ''? '
'.$H_temp[0].'':$H_temp[0]; $H_estr .= '
'.$H_temp[0].''; $H_tdwz = ""; $H_td = ""; } $H_estr .= ''; } $H_estr .= $H_ei > 0 ? '':''; return $H_estr; } public function H_sxml($H_ary){ //生成XML $H_xstr = '
'; $H_xml = array(); //节点标签 $H_xmlzs = array(); //注释 $H_ei = count($H_ary); for($H_i = 0;$H_i < $H_ei;$H_i++){ $H_xstr .= $H_i > 0 ? '
':''; $H_ej = count($H_ary[$H_i]); for($H_j = 0;$H_j < $H_ej;$H_j++){ //第一次所以处理为标签 if($H_i == 0){ $H_tm = explode("//",$H_ary[$H_i][$H_j]); $H_xml[$H_j] = $H_tm[0]; $H_xmlzs[$H_j] = $H_tm[1]; }else{ if($H_xml[$H_j]=="" ||$H_xml[$H_j]=="null") $H_xml[$H_j]== "items".$H_j; $H_tm = explode("|",$H_ary[$H_i][$H_j]); $H_xstr .='<'.$H_xml[$H_j].'>'.$H_tm[0].'
'.(($H_i == 1 && $H_xmlzs[$H_j]!="") ? '
':''); } } $H_xstr .= $H_i > 0 ? '
':''; } $H_xstr .= '
'; return $H_xstr; } public function H_xml($H_ary,$H_fname,$H_char="gb2312"){ //输出xml 文件 $H_xml = '
'; $H_xml .= $this -> H_sxml($H_ary); $H_xsize = strlen($H_xml); //设置头信息 @Header('Content-type: application/octet-stream'); @header('Content-Type: text/xml'); @Header('Accept-Ranges: bytes'); @Header('Accept-Length: '.$H_xsize); @Header('Content-Disposition: attachment; filename='.$H_fname.'.xml'); echo $H_xml; //输出 } public function H_json(){ //输出json 文件 } public function H_excel($H_ary,$H_fname,$H_char="gb2312"){ //输出excel 文件 //设置头信息 @header('Content-type:Application\vnd.ms-execl'); @header('content-Disposition:filename='.$H_fname.'.xls'); $H_fstr = ""; $H_fstr .= '
'; $H_fstr .= $this -> H_table($H_ary); $H_fstr .= ''; $H_fstr .= ''; echo $H_fstr; //输出 flush(); } public function H_word($H_ary,$H_fname,$H_char="gb2312"){ //输出word 文件 //设置头信息 @header('Content-type: application/doc'); @header('Content-Disposition: attachment; filename="'.$H_fname.'.doc"'); $H_fstr = ""; $H_fstr .= '
'.$H_fname.''; $H_fstr .= $this -> H_table($H_ary); $H_fstr .= ''; $H_fstr .= ''; echo $H_fstr; //输出 flush(); } public function H_html_excel($H_url,$H_fname,$H_char="gb2312"){ //html输出excel 文件 //设置头信息 @header('Content-type:Application\vnd.ms-execl'); @header('content-Disposition:filename='.$H_fname.'.xls'); $H_fstr = file_get_contents($H_url); /* $H_fstr .= '
'; $H_fstr .= $this -> H_table($H_ary); $H_fstr .= ''; $H_fstr .= ''; */ echo $H_fstr; //输出 flush(); } public function H_html_word($H_url,$H_fname,$H_char="gb2312"){ //html输出word 文件 //设置头信息 @header('Content-type: application/doc'); @header('Content-Disposition: attachment; filename="'.$H_fname.'.doc"'); $H_fstr = file_get_contents($H_url); /* $H_fstr .= '
'.$H_fname.''; $H_fstr .= $this -> H_table($H_ary); $H_fstr .= ''; $H_fstr .= ''; */ echo $H_fstr; //输出 flush(); } public function H_html($H_ary,$H_fname,$H_char="gb2312"){ //输出html 文件 $H_fstr = ""; $H_fstr .= ''; $H_fstr .= ''; $H_fstr .= '
'.$H_fname.' '; $H_fstr .= '
'; $H_fstr .= $this -> H_table($H_ary); $H_fstr .= ''; $H_fstr .= ''; $H_fsize = strlen($H_fstr); //设置头信息 @Header('Content-type: application/octet-stream'); @header('Content-Type: text/html'); @Header('Accept-Ranges: bytes'); @Header('Accept-Length: '.$H_fsize); @Header('Content-Disposition: attachment; filename='.$H_fname.'.html'); echo $H_fstr; //输出 flush(); } public function H_txt($H_ary,$H_fname,$H_char="gb2312"){ //输出txt 文件 $H_fstr = ""; $H_fstr .= $this -> H_table($H_ary); $H_fsize = strlen($H_fstr); //设置头信息 @Header('Content-type: application/octet-stream'); @header('Content-Type: text/html'); @Header('Accept-Ranges: bytes'); @Header('Accept-Length: '.$H_fsize); @Header('Content-Disposition: attachment; filename='.$H_fname.'.txt'); echo $H_fstr; //输出 flush(); } }//End Class?>

 

转载于:https://www.cnblogs.com/huangxiang/archive/2012/01/17/2324716.html

你可能感兴趣的文章
[老老实实学WCF] 第五篇 再探通信--ClientBase
查看>>
CDN缓存不命中排查
查看>>
处理E160004: Corrupt node-revision 'lx-249.0-248.r1186/2192'
查看>>
第三篇——第二部分——第一文 SQL Server镜像简介
查看>>
谈谈Redis的SETNX
查看>>
开源新项目GitTest.com,欢迎大牛,小牛,菜鸟,同学加入发PR
查看>>
天啊,竟然忘了买春节后回上海的票。。。只能买区间票,中途再补票了。。。...
查看>>
内存数据网格hazelcast的一些机制原理
查看>>
Intellij idea下spark开发HelloWorld
查看>>
Gartner称:SaaS合同歧义引发安全隐忧
查看>>
[WCF安全系列]谈谈WCF的客户端认证[X.509证书认证]
查看>>
浅析:协同软件已成为用户应用软件采购最大热点?
查看>>
阿里云全新一代企业级新品解读—通过MaxCompute Studio实践大数据时代的DevOps
查看>>
中国人工智能学会通讯——个性化推荐和资源分配在金融和经济中的应用 1.4 智能金融·产品增强...
查看>>
云计算在安防监控领域中有哪些作用
查看>>
Python赶超R语言,成为数据科学、机器学习平台中最热门的语言?
查看>>
内部云部署不只虚拟化那么简单
查看>>
数据中心网络的那些二层技术谈
查看>>
Synergy配置与使用
查看>>
微服务的4大设计原则和19个解决方案
查看>>