而关于php的也有,但是大多都是用phpExcel导出的方法或者spreadsheet等类或者控件之类的导出方法,而我所在维护的系统却用很简单的方法,如下,网上很少有讲如何设置要导出数据的EXcel格式。
我导出EXcel的主要代码的前面部分:

<?
if(count($data)>40000){
$filename_type='csv';
}else{
$filename_type='xls';
}
header("Content-Type: application/vnd.ms-excel");
Header("Accept-Ranges:bytes");
Header("Content-Disposition:attachment;filename=".$filename.".".$filename_type); //$filename导出的文件名
header("Pragma: no-cache");
header("Expires: 0");
if($filename_type=='xls'){
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>';
}

后面就是以<table><tr><td></td></tr></table>的格式输出数据

查了大半天终于查到了一点有用的资料,现在摘抄如下:

“首先,我们了解一下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>添加样式;当我们在父标签对和子标签对都添加样式时,数据会以哪一个样式呈现 呢?经过测试,会以离数据最近的样式呈现.

于是按照他说的方法设置了导出数据时对应的身份证列的的样式:

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

果然成功了,没有枉费了查半天的资料。

php输出excel表格乱码和第一个0不显示的解决方法(详细)相关推荐

  1. php导出表格是乱码怎么办,数据库导出excel表格是乱码怎么办-Excel表格乱码问题怎么解决?...

    POI导出excel表时文件名变成乱码怎么办 在乱码的表格上键-用记事本打 2 这里会看到里面的文字都恢复了. 3 接下来文件-另存为 4 另存的时候刻改一下文件名,这里改成1副本,格式为txt,然后 ...

  2. c语言 printf分栏输出,excel表格分栏打印输出的两种巧妙方法_excel教程

    有时Excel中的表格只有两三列内容,这样在处理完表格中数据如果直接打印输出就会显得很不美观,且浪费纸张.如果能象Word和WPS那样具有分栏功能就好了.下面我们就借助外力对Excel中的表格实现分栏 ...

  3. 在Excel表格中如何使一个很长的表,打印时每页都能打出表头

    在Excel表格中如何使一个很长的表,打印时每页都能打出表头 目录 在Excel表格中如何使一个很长的表,打印时每页都能打出表头 1. 找到"页面布局"选项卡点击打印标题 2.选择 ...

  4. 打开excel表格会自动打开一个空表格

    原因: 有个MySql产品插件,作为Excel加载项,每次打开任何一个Excel都会被Excel加载,弹出一个空表文件. 解决方法: 该MySql产品看起来没多大用,找到卸载该MySql产品即可 方法 ...

  5. excel文档最下面被计算机框挡住,电脑excle数据栏?求电脑专家 电脑屏幕下方的任务栏把excel表格最下面那一栏挡住显示不出来了 自动求和数据看不到。。。...

    windows7的EXCEL中工具栏没数据分析选项怎么办? 这个和WIN7么关系啊.要用什么office版本.我用的是2010的,里面是有的. "Microsoft Office 按钮&qu ...

  6. html word表格边框变成表格,word表格边框显示不全跨页面显示的解决方法

    word表格是很多伙伴常会使用到的一款办公软件,那你晓得边框显示不全跨页面显示如何处理吗?如若不了解的话,就看看下文word表格边框显示不全跨页面显示的解决方法吧. word表格边框显示不全跨页面显示 ...

  7. 电子邮件乱码产生的主要原因及几种解决方法

    关于电子邮件乱码 --转摘自中国科学院,作者不详     本文主要介绍邮件乱码产生的主要原因及几种解决方法: E-mail编码标准 由于一个汉字是用两个扩展 ASCII码表示,对DOS.Windows ...

  8. POI 导出excel带小数点的数字格式显示不对解决方法

    POI 导出excel带小数点的数字格式显示不对解决方法 参考文章: (1)POI 导出excel带小数点的数字格式显示不对解决方法 (2)https://www.cnblogs.com/firstd ...

  9. '操作必须使用一个可更新的查询'解决方法

    原文:'操作必须使用一个可更新的查询'解决方法 当我们用ASP执行修改数据库记录操作时常会遇到以下问题 错误类型: Microsoft OLE DB Provider for ODBC Drivers ...

最新文章

  1. 用SimpleDateFormat类设置时间格式
  2. yii2快速導出phpexcel
  3. 工信部等六部门公布2021年度国家绿色数据中心名单
  4. Android中WebView加载sdcard中的html时提示:ERR_FILE_NOT_FOUND和ERR_ACCESS_DENIED
  5. 直播报名 | CUDA优化:高性能库cuBLAS使用指南
  6. 结构化查询语言(Structured Query Language)
  7. Shell脚本自动备份数据库
  8. win7插了耳机还是外放_有哪些令人叫绝的智障设计?网友:手机取消耳机孔
  9. 用Pytorch实现逻辑回归分类
  10. [Ext JS ] 7.25.1 Form或者面板自动定位到错误的输入框
  11. Python安装Pytorch教程(图文详解)
  12. HashMap、weakHashMap、LinkedHashMap和TreeMap四者区别与联系
  13. MySQL 学生信息管理系统 表格信息
  14. 软考系统集成项目管理工程师重要知识点
  15. 在poi-tl的区块对中实现用布尔值插入Word分页符的一种方法
  16. android 耳机数据传输,智能手机耳机电路工作原理
  17. catalina 无法验证macos_macOS 10.15 Catalina无法打开app,提示“因为无法确认开发者身份”问题的解决方法......
  18. 计算机重启很慢,教您win7电脑关机很慢的解决方法
  19. 智能化市场「分层」开始,软硬「解耦」进入深水区
  20. 【Python+数学】笛卡儿积

热门文章

  1. 最新Java校招面试题及答案
  2. MySQL按时间查找
  3. 【Unity】UGUI无法修改字体大小
  4. 别人要访问我的电脑上部署的tomcat,必须关闭防火墙吗?
  5. Bootstrap 模态对话框只加载一次 remote 数据的解决办法
  6. 第二章 系统设置及基本操作
  7. 单片机系统中的红外通信接口
  8. phpMyAdmin 尝试连接到MySQL 服务器的错误解决方法
  9. mysql5.0.27+apache2.0.59+php5.2.0+phpMyAdmin-2.6.4-pl3
  10. 确保您的Silverlight 1.0运行时间组件是最新版本