php 网页生成word文档的实例程序 在需要的朋友可参考一下。
在这篇文章中主要解决两个问题:
1:在php中如何把html中的内容生成到word文档中
2:php把html中的内容生成到word文档中时,不居中显示问题,即会默认按照web视图进行显示。
3:php把html中的内容生成到word文档中时,相关样式不兼容问题
正文:
代码如下 |
复制代码 |
echo '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <xml><w:WordDocument><w:View>Print</w:View></xml> <script src="includes/js/ztree/js/jquery-1.4.4.min.js" type="text/javascript"></script> </head>'; echo '<body><table class="table_dayin"> <caption class="table_caption">'; echo "数字化教学系统电子备课稿<br> <span>学科 <em style="border-bottom: 1px solid #545454;">语文</em>学校 <em style="border-bottom: 1px solid #545454;">实验中学</em></span> </caption>"; echo '</table></body></html>'; ob_start(); //打开缓冲区 header("Cache-Control: public"); Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); if (strpos($_SERVER["HTTP_USER_AGENT"],'MSIE')) { header('Content-Disposition: attachment; filename=test.doc'); }else if (strpos($_SERVER["HTTP_USER_AGENT"],'Firefox')) { Header('Content-Disposition: attachment; filename=test.doc'); } else { header('Content-Disposition: attachment; filename=test.doc'); } header("Pragma:no-cache"); header("Expires:0"); ob_end_flush();//输出全部内容到浏览器 |
注:以上代码部分提供了在php程序文件中生成内容到word文档中并提供下载功能。
例子
代码如下 |
复制代码 |
<?php //初始化session session_start(); // 包含数据库连接文件和头文件 ?> <html> <head> <title>试卷生成</title> <link href="css/style.css" rel="stylesheet" type="text/css"> </head> <? include('head.php'); require ('dbconnect.php'); ?> <?PHP $juge=0; for($i=1;($i<100);$i++) { $a=$i; if(isset($_POST[$a])) { if($juge==0) $sql.=" id=".$_POST[$a]; else $sql.=" or id=".$_POST[$a]; $juge=1; } } if($sql!="") { $sql="SELECT * FROM test WHERE".$sql; $result_array=array(); //返回数组 $i=0; //数组下标 $query_result=@mysql_query($sql,$conn); while($row=@mysql_fetch_object($query_result)) { $i++; $cout.=$i." "; $cout.="题目难度:".$row->difficulty."<br>"; $cout.=" ".$row->content."<br><br>"; }//while ?> <?php class word { function start() { ob_start(); print'<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">'; } function save($path) { print "</html>"; $data = ob_get_contents(); ob_end_clean(); $this->wirtefile ($path,$data); } function wirtefile ($fn,$data) { $fp=fopen($fn,"wb"); fwrite($fp,$data); fclose($fp); } } /*-------word class End-------*/ $word=new word; $word->start(); echo $cout; $wordname="word/".time().".doc"; $word->save($wordname);//保存word并且结束. ?> <div align="center"><a href="<?php echo $wordname ; ?>" target=_blank class="unnamed1">试卷已经生成,请点击这里查看</a> <?PHP } else { ?> </div> <div align="center"><span class="unnamed1">您输入的条件不足,请重新输入!</span> <?PHP } ?> </div> </html> |
文章网址:http://www.phprm.com/code/44104.html
随意转载^^但请附上教程地址。