您的位置:首页 > 编程语言 > PHP开发

PHP生成word文档

2010-03-05 14:18 411 查看
这里只是一个例子,用PHP生成数据字典的例子,适合懒人

<?php
/*
+----------------------------------------------------------------------+
| base: Yang Yu <yangyu@sina.cn> create@2009-5-18 |
| Author: jiafeng create@2010-01-27 |
+----------------------------------------------------------------------+
*/
$db_server = "localhost";
$db_name = "test_r";
$db_user = "root";
$db_pwd = "root";
$tilte = "数据字典";

$link = mysql_connect($db_server, $db_user, $db_pwd) or die("no server");
mysql_select_db($db_name, $link) or die("no db");

//$sql = "set names gbk";
//mysql_query($sql);

$html = '
<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=gb2312">
<meta name=Generator content="Microsoft Word 11">
<title>'.$tilte.'</title>
<img src="http://i1.sinaimg.cn/home/deco/2009/0330/logo_home.gif">
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Print</w:View>
<w:Zoom>115</w:Zoom>
<w:GrammarState>Clean</w:GrammarState>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:UseFELayout/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:黑体;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:Calibri;}
@font-face
{font-family:"/@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"/@黑体";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman";}
p.MsoHeader, li.MsoHeader, div.MsoHeader
{margin:0cm;
margin-bottom:.0001pt;
text-align:center;
layout-grid-mode:char;
border:none;
padding:0cm;
font-size:9.0pt;
font-family:"Times New Roman";}
p.MsoFooter, li.MsoFooter, div.MsoFooter
{margin:0cm;
margin-bottom:.0001pt;
layout-grid-mode:char;
font-size:9.0pt;
font-family:"Times New Roman";}
span.CharChar1
{font-family:"Times New Roman";}
span.CharChar
{font-family:"Times New Roman";}
/* Page Definitions */
@page Section1
{size:595.3pt 841.9pt;
margin:32.9pt 64.35pt 1.0cm 62.95pt;
layout-grid:15.6pt;}
div.Section1
{page:Section1;}
-->
</style>

</head>
';

$html .= "
<body lang=ZH-CN style='text-justify-trim:punctuation'>
<div class=Section1 style='layout-grid:15.6pt'>
<p class=MsoNormal align=center style='text-align:center'><b><span
style='font-size:16.0pt;font-family:黑体'>$tilte</span></b></p>
<table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0 width=737 style='width:552.85pt;margin-left:-37.15pt;border-collapse:collapse;border:none'>";

$sql = "show tables";
$result = mysql_query($sql, $link);
while ($row = mysql_fetch_array($result))
{
$table = ($row[0]);
//
$html .= "
<tr style='page-break-inside:avoid'>
<td width=737 colspan=3 style='width:552.85pt;border:none;border-bottom:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal style='line-height:100%'><b><span style='font-size:12.0pt;line-height:100%;font-family:宋体'>表名: ".$table." </u></p>
</td>
</tr>
<tr style='page-break-inside:avoid'>
<td width=300 style='width:200pt;border:solid windowtext 1.0pt;border-top:
none;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=right style='text-align:left'><b><span
style='font-size:9.0pt;font-family:宋体'>字段名</span></b></p>
</td>
<td width=300 style='width:200pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:left'><b><span
style='font-size:9.0pt;font-family:宋体'>类型</span></b></p>
</td>
<td width=300 style='width:200pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:left'><b><span
style='font-size:9.0pt;font-family:宋体'>说明</span></b></p>
</td>
</tr>";
//
$sql = "desc `$table`";
$rs = mysql_query($sql, $link);
while($r = mysql_fetch_array($rs))
{
$field = $r['id'];
$type = $r['name'];
$remark = '';//print_r($r);exit;
$html .= " <tr style='page-break-inside:avoid'>
<td width=300 style='width:200pt;border:solid windowtext 1.0pt;border-top:
none;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=right style='text-align:left'><span
style='font-size:9.0pt;font-family:宋体'>$field</span></p>
</td>
<td width=300 style='width:200pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:left'><span
style='font-size:9.0pt;font-family:宋体'>$type</span></p>
</td>
<td width=300 style='width:200pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:left'><span
style='font-size:9.0pt;font-family:宋体'>$remark</span></p>
</td>
</tr>";
}
}
$html .= "</table>
<p class=MsoNormal><span lang=EN-US> </span></p>
</div>
</body>
</html>";

header("Content-Type:application/msword");
header("Content-Disposition:attachment;filename=文档.doc");
header("Pragma:no-cache");
header("Expires:0");
echo $html;
exit;
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: