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;
?>
<?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;
?>
相关文章推荐
- 利用PHPWord生成文档的应用例子
- php 生成word文档并下载代码
- PHPWord利用模板替换字符串生成精确的word文档
- Laravel生成Word文档 - phpword
- php生成word文档
- php 生成 word 文档
- 【原】php生成2003 word文档并以页面视图打开
- PHP生成word文档的三种实现方式
- php通过mht文件方式生成带图片的word文档
- 在Windows系统下使用PHP生成Word文档的教程
- 在Windows系统下使用PHP生成Word文档的教程
- 【原】php自动生成带图片附件的word文档类
- php用PHPWord库生成word文档的例子
- Laravel生成Word文档 - phpword
- PHP 生成Word文档
- php中如何把html中的内容生成到word文档
- php在程序中将网页生成word文档并提供下载的代码
- 用php生成word文档
- PHP生成word文档的三种实现方式
- php在程序中将网页生成word文档并提供下载的代码