您当前的位置: 首页 > 网站编程 > PHP教程 > php导出excel格式数据问题

php导出excel格式数据问题

作者:不详 来源:网络 发布时间: 2014-08-07 09:13 点击:
本篇文章主要是对php导出excel格式数据的问题进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 解决2个问题: 1.身份证之类的文本数据自动转为科学计数法的问题。 2.中文乱码的问题 excel从web页面上导出的原理。当我们把这些数据发送到客户端时,我们想让客

php导出excel格式数据问题

  本篇文章主要是对php导出excel格式数据的问题进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助

  解决2个问题:

  1.身份证之类的文本数据自动转为科学计数法的问题。

  2.中文乱码的问题

  excel从web页面上导出的原理。当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取 它,所以把mime类型设为:application/vnd.ms-excel,当excel读取文件时会以每个cell的格式呈现数据,如果cell没有规定的格式,则excel会以默认的格式去呈现该cell的数据。这样就给我们提供了自定义数据格式的空间,当然我们必须使用excel支持的格式。 下面就列出常用的一些格式:

  1) 文本:vnd.ms-excel.numberformat:@

  2) 日期:vnd.ms-excel.numberformat:yyyy/mm/dd

  3) 数字:vnd.ms-excel.numberformat:#,##0.00

  4) 货币:vnd.ms-excel.numberformat:¥#,##0.00

  5) 百分比:vnd.ms-excel.numberformat: #0.00%

  这些格式你也可以自定义,比如年月你可以定义为:yy-mm等等。那么知道了这些格式,怎么去把这些格式添加到cell中呢?很简单,我们只需要把样式添 加到对应的标签对(即闭合标签)即可。如<td></td>,给标签对<td></td>添加样式,如 下: <td style="vnd.ms-excel.numberformat:@">410522198402161833</td>

  同样,我们也可以给<div></div>添加样式,也可以给<tr>< /tr>,<table></table>添加样式;当我们在父标签对和子标签对都添加样式时,数据会以哪一个样式呈现 呢?经过测试,会以离数据最近的样式呈现.

  例如身份证列的<td>的样式:

  echo "<td style='vnd.ms-excel.numberformat:@'>".$printable."</td>n";

  代码如下:

  $filename=iconv("UTF-8", "GB2312//IGNORE","会员名.xls");//date('Y-m-d-H-i-s').".xls";

  header("Content-type:application/vnd.ms-excel");

  Header("Accept-Ranges:bytes");

  Header("Content-Disposition:attachment;filename=".$filename); //$filename导出的文件名

  header("Pragma: no-cache");

  header("Expires: 0");

  echo '<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="expires" content="Mon, 06 Jan 1999 00:00:01 GMT">

  <meta http-equiv=Content-Type content="text/html; charset=gb2312">

  <!--[if gte mso 9]><xml>

  <x:ExcelWorkbook>

  <x:ExcelWorksheets>

  <x:ExcelWorksheet>

  <x:Name></x:Name>

  <x:WorksheetOptions>

  <x:DisplayGridlines/>

  </x:WorksheetOptions>

  </x:ExcelWorksheet>

  </x:ExcelWorksheets>

  </x:ExcelWorkbook>

  </xml><![endif]-->

  </head>';

  echo "<table><tr>

  <th>".iconv("UTF-8", "GB2312//IGNORE","会员名")."</th>

  <th>".iconv("UTF-8", "GB2312//IGNORE","账号")."</th>

  <th>".iconv("UTF-8", "GB2312//IGNORE","联系人")."</th>

  </tr>";

  foreach ($list as $v)

  {

  echo "<tr>";

  echo "<td>".iconv("UTF-8", "GB2312//IGNORE", $v["user_name"])."</td>";

  echo "<td style='vnd.ms-excel.numberformat:@'>".$v["account_id"]."</td>";

  echo "<td>".iconv("UTF-8", "GB2312//IGNORE", $v["contact_name"])."</td>";

  echo "</tr>";

  }

  echo "</table>";
分享到:
本文"php导出excel格式数据问题"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4