首页 > php代码 > php 网页生成word文档的实例程序

php 网页生成word文档的实例程序


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."&nbsp;&nbsp;";
$cout.="题目难度:".$row->difficulty."<br>";
$cout.="&nbsp;&nbsp;&nbsp;".$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

随意转载^^但请附上教程地址。

标签:none

发表留言