当前位置:Linux教程 - Php - 生成Excel文件范例(1):服务端

生成Excel文件范例(1):服务端

<?php
    ob_start();

?>
<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<meta name=ProgId content=Excel.Sheet>
<meta name=Generator content="Microsoft Excel 10">
<link rel=File-List href="Page.files/filelist.xml">
<style id="Book1_10519_Styles">
<!--table
    {mso-displayed-decimal-separator:"\.";
    mso-displayed-thousand-separator:"\,";}
.font510519
    {color:windowtext;
    font-size:9.0pt;
    font-weight:400;
    font-style:normal;
    text-decoration:none;
    font-family:宋体;
    mso-generic-font-family:auto;
    mso-font-charset:134;}
.xl1510519
    {padding-top:1px;
    padding-right:1px;
    padding-left:1px;
    mso-ignore:padding;
    color:windowtext;
    font-size:12.0pt;
    font-weight:400;
    font-style:normal;
    text-decoration:none;
    font-family:宋体;
    mso-generic-font-family:auto;
    mso-font-charset:134;
    mso-number-format:General;
    text-align:general;
    vertical-align:middle;
    mso-background-source:auto;
    mso-pattern:auto;
    white-space:nowrap;}
.xl2210519
    {padding-top:1px;
    padding-right:1px;
    padding-left:1px;
    mso-ignore:padding;
    color:windowtext;
    font-size:12.0pt;
    font-weight:400;
    font-style:normal;
    text-decoration:none;
    font-family:宋体;
    mso-generic-font-family:auto;
    mso-font-charset:134;
    mso-number-format:General;
    text-align:general;
    vertical-align:middle;
    border:.5pt solid windowtext;
    background:silver;
    mso-pattern:auto none;
    white-space:nowrap;}
.xl2310519
    {padding-top:1px;
    padding-right:1px;
    padding-left:1px;
    mso-ignore:padding;
    color:windowtext;
    font-size:12.0pt;
    font-weight:400;
    font-style:normal;
    text-decoration:none;
    font-family:宋体;
    mso-generic-font-family:auto;
    mso-font-charset:134;
    mso-number-format:General;
    text-align:general;
    vertical-align:middle;
    border:.5pt solid windowtext;
    mso-background-source:auto;
    mso-pattern:auto;
    white-space:nowrap;}
ruby
    {ruby-align:left;}
rt
    {color:windowtext;
    font-size:9.0pt;
    font-weight:400;
    font-style:normal;
    text-decoration:none;
    font-family:宋体;
    mso-generic-font-family:auto;
    mso-font-charset:134;
    mso-char-type:none;}
-->
</style>
</head>

<body>
<!--[if !excel]>  <![endif]-->
<!--下列信息由 Microsoft Excel 的“发布为 Web 页”向导生成。-->
<!--如果同一条目从 Excel 中重新发布,则所有位于 DIV 标记之间的信息均将被替换。-->
<!----------------------------->
<!--“从 EXCEL 发布 Web 页”向导开始-->
<!----------------------------->

<div id="Book1_10519" align=center x:publishsource="Excel">
<?php
    if(false==isset($_POST["data"]))
    {
        echo    "没有要显示的数据"    ;
        exit;
    }
?>
<table x:str border=0 cellpadding=0 cellspacing=0 width=519 style='border-collapse:
collapse;table-layout:fixed;width:389pt'>
<col width=72 span=2 style='width:54pt'>
<col width=163 style='mso-width-source:userset;mso-width-alt:5216;width:122pt'>
<col width=87 style='mso-width-source:userset;mso-width-alt:2784;width:65pt'>
<col width=125 style='mso-width-source:userset;mso-width-alt:4000;width:94pt'>
<tr height=19 style='height:14.25pt'>
  <td height=19 class=xl1510519 width=72 style='height:14.25pt;width:54pt'></td>
  <td class=xl1510519 width=72 style='width:54pt'></td>
  <td class=xl1510519 width=163 style='width:122pt'></td>
  <td class=xl1510519 width=87 style='width:65pt'></td>
  <td class=xl1510519 width=125 style='width:94pt'></td>
</tr>
<tr height=19 style='height:14.25pt'>
  <td height=19 class=xl1510519 style='height:14.25pt'></td>
  <td class=xl2210519>名称</td>
  <td class=xl2210519 style='border-left:none'>地址</td>
  <td class=xl2210519 style='border-left:none'>QQ号</td>
  <td class=xl2210519 style='border-left:none'>电子邮件</td>
</tr>
<?php

    foreach($_POST["data"] as $val)
    {
        extract($val)    ;
?>

<tr height=19 style='height:14.25pt'>
  <td height=19 class=xl1510519 style='height:14.25pt'></td>
  <td class=xl2310519 style='border-top:none'><?php echo $username ; ?></td>
  <td class=xl2310519 style='border-top:none;border-left:none'><?php echo $add ; ?></td>
  <td class=xl2310519 style='border-top:none;border-left:none'><?php echo $qq ; ?> </td>
  <td class=xl2310519 style='border-top:none;border-left:none'><?php echo $email ; ?></td>
</tr>
<?php
    }
?>

<![if supportMisalignedColumns]>
<tr height=0 style='display:none'>
  <td width=72 style='width:54pt'></td>
  <td width=72 style='width:54pt'></td>
  <td width=163 style='width:122pt'></td>
  <td width=87 style='width:65pt'></td>
  <td width=125 style='width:94pt'></td>
</tr>
<![endif]>
</table>

</div>


<!----------------------------->
<!--“从 EXCEL 发布 Web 页”向导结束-->
<!----------------------------->
</body>

</html>
<?php
    $outStr=ob_get_contents();
    ob_end_clean();
     
        header("Content-type: application/octet-stream");
        Header("Accept-Ranges: bytes");
        Header("Accept-Length: ".strlen($outStr));
        Header("Content-Disposition: attachment; filename=test.Xls");
        // 输出文件内容