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>";

(0)

相关推荐

  • php不使用插件导出excel的简单方法

    复制代码 代码如下: $filename=date("Y年m月d日")."数据信息统计结果.xls";     //文件名$ua = $_SERVER["HTTP_USER_AGENT"];   //中文文件名不乱码if (preg_match("/MSIE/", $ua)) {      $filename=urlencode($filename);} else if (preg_match("/Firefox/&

  • PHP 导出Excel示例分享

    下载PHPExcel_1.8.0_doc.zip http://phpexcel.codeplex.com/,将解压后的文件夹里的Classes上传到网站的根目录下,Classes目录内的内容如下: 导出文件Excel.php require_once dirname(__FILE__).'/Classes/PHPExcel.php';//引入PHPExcel .....此处略去从数据库获取数据的过程,$a为需要导出的数组...... $numArr = array('A','B','C','D

  • 基于PHP导出Excel的小经验 完美解决乱码问题

    我在PHP项目里要求把数据导出为Excel,并且数据中包含中文.网上大概了解一下可是使用PHPExcel,可是相对我的需求,这个框架太复杂了.于是还是想找找简单做法.网上发现其实最简单可以这样写,但问题是这种做法中文的编码不可靠.. 复制代码 代码如下: <?php  header("Content-type:application/vnd.ms-excel");  header("Content-Disposition:attachment;filename=expo

  • 利用phpexcel把excel导入数据库和数据库导出excel实现

    复制代码 代码如下: <?php/**author zhy*date 2012 06 12*for excel*/date_default_timezone_set("PRC"); error_reporting(E_ALL);error_reporting(0);ini_set('display_errors', TRUE);ini_set('display_startup_errors', TRUE);define('EOL',(PHP_SAPI == 'cli') ? PH

  • PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解

    PHP导出EXCEL快速开发指南phpexcel有专有的开发文档,详细操作请参考其开发文档,本文档只是对其在使用上作了优化整合,便于在新项目中快速开发.phpexcel生成文件同样有两种方式,一种方式为直接输出,一种方式为生成静态文件.直接输出:主文件为(class目录的同目录文件): 复制代码 代码如下: <?php include("./class/class.php"); // 包含class的基本头文件include("./class/phpexcel/PHPE

  • PHP实现导出带样式的Excel

    工作中做导出的时候,需要导出自定义的表格或嫌弃导出的Excel格式太难看了. 需要设置颜色.字号大小.加粗.合并单元格等等. 效果图: PHP代码: /** * 导出文件 * @return string */ public function export() { $file_name = "成绩单-".date("Y-m-d H:i:s",time()); $file_suffix = "xls"; header("Content-T

  • php导入导出excel实例

    这里实现的PHP导入导出excel功能用到的是开源PHPExcel,执行下面的操作之前请先下载该类库文件,官方网站:http://www.codeplex.com/PHPExcel,官网案例代码很多,导出pdf什么的都有,这里主要介绍PHP导入导出excel的功能,导出excel文件是office2007格式,同时兼容2003. php导入excel导入的excel文件的数据格式,截图如下:下面是将该excel文件的数据导入到数据库的具体代码: 复制代码 代码如下: <?phprequire_o

  • phpexcel导出excel的颜色和网页中的颜色显示不一致

    关于phpexcel导出颜色的一些问题,用phpexcel做导出的excel的颜色怎么和网页中的颜色显示不一致呢?想要知道到底是怎么回事?应该如何来解决呢?PHP代码细节如下: PHP code: 复制代码 代码如下: <?php require_once './PHPExcel.php'; require_once './Excel5.php'; require_once './get_excel_row.php'; require "../include/base.php";

  • Yii中使用PHPExcel导出Excel的方法

    本文实例讲述了Yii中使用PHPExcel导出Excel的方法.分享给大家供大家参考.具体分析如下: 最近在研究PHP的Yii框架,很喜欢,碰到导出Excel的问题,研究了一下,就有了下面的方法. 1.首先在cofig/main.php中添加对PHPExcel的引用,我的方法是这样,代码如下: 复制代码 代码如下: // autoloading model and component classes     'import'=>array(         /*'application.modu

  • Java使用poi组件导出Excel格式数据

    在做管理系统的时候,我想Excel的导出是我们很难规避掉的,而且这也是个很实用很人性化的功能. Java中对于Excel的支持有很多种,比如说JXL,POI等.我这边使用的是POI进行一个Excel的操作,下面我会简单分享下POI组件的使用,以及我使用比较多一个工具类. POI组件 poi组件是由Apache提供的组件包,主要职责是为我们的Java程序提供对于office文档的相关操作.本文主要是它对于Excel操作的一个介绍. 官方主页:http://poi.apache.org/index.

  • php导出excel格式数据问题

    解决2个问题:1.身份证之类的文本数据自动转为科学计数法的问题.2.中文乱码的问题 excel从web页面上导出的原理.当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取 它,所以把mime类型设为:application/vnd.ms-excel,当excel读取文件时会以每个cell的格式呈现数据,如果cell没有规定的格式,则excel会以默认的格式去呈现该cell的数据.这样就给我们提供了自定义数据格式的空间,当然我们必须使用excel支持的格式. 下面就

  • python脚本实现数据导出excel格式的简单方法(推荐)

    实习期间,服务器的一位师兄让我帮忙整理一下服务器的log数据,最终我用Python实现了数据的提取并将其用Excel格式导出.下面是我Python实现的源码,可以自动遍历某一文件目录下的所有文本文件,并将总的数据导出到Excel文件中,导出为Excel格式这样就比较方便统计了. //实现将目录下所有文件格式为.txt的文件进行遍历统计,如果是别的格式直接将下面的.txt改为你所需要的格式后缀就可以了,比较方便. //过程就是先将所有的文件中的内容提取出来写入到一个新文件中,然后再从新文件中提取数

  • php导出csv格式数据并将数字转换成文本的思路以及代码分享

    php导出csv格式数据实现:先定义一个字符串 存储内容,例如 $exportdata = '规则111,规则222,审222,规222,服2222,规则1,规则2,规则3,匹配字符,设置时间,有效期'."\n"; 然后对需要保存csv的数组进行foreach循环,例如 复制代码 代码如下: if (!empty($lists)){                  foreach($lists as $key => $value){                    $ti

  • C#语言MVC框架Aspose.Cells控件导出Excel表数据

    本文实例为大家分享了Aspose.Cells控件导出Excel表数据的具体代码,供大家参考,具体内容如下 控件bin文件下载地址 @{ ViewBag.Title = "xx"; } <script type="text/javascript" language="javascript"> function getparam() { var param = {}; param.sear = $("#sear").t

  • php导出word格式数据的代码实例

    本节内容:一个php导出文档的类 例子: 复制代码 代码如下: <?php /*** 生成word文档的类* */class word{     function start()    {        ob_start();        echo '<html xmlns:o="urn:schemas-microsoft-com:office:office"        xmlns:w="urn:schemas-microsoft-com:office:wo

  • 如何将postgresql数据库表内数据导出为excel格式(推荐)

    在上篇文章给大家介绍了如何将postgresql数据库表内数据导出为excel格式(推荐) 感兴趣的朋友点击查看. 本文主要用于介绍如何使用copy或者\copy命令将postgresql数据库内表的数据导出为excel格式,方便用户查看编辑. copy命令同\copy命令语法上相同,区别在于copy必须使用能够超级用户使用,copy - to file 中的文件都是数据库服务器所在的服务器上的文件,而\copy 一般用户即可执行且\copy 保存或者读取的文件是在客户端所在的服务器.本文主要以

  • java使用EasyExcel导入导出excel

    一.准备工作 1.导包 <!-- poi 相关--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId

  • Vue前端导出Excel文件的详细实现方案

    目录 一.技术选型 二.技术实现 使用 vue-json-excel 插件实现 1.安装 vue-json-excel 依赖 2.注册插件到 vue 实例 3.使用方式 基于 sheetJS-xlsx 解析器的 xlsx-style 实现(推荐) 1.安装依赖 2.使用方法 三.参考资料 总结 一.技术选型 1.使用 vue-json-excel 插件实现 优点:简单便捷,易上手,开箱即用: 缺点:不支持 excel 表格样式设置,且支持功能比较单一: 2.基于 sheetJS-xlsx 解析器

  • java web将数据导出为Excel格式文件代码片段

    本文实例为大家分享了java web将数据导出为Excel格式文件的具体代码,供大家参考,具体内容如下 1.jsp代码 <input type="button" class="btn btn-info" onclick="getVerExcel();" value="导出为Excel文件" /> 2.js代码 function getVerExcel() { window.location.href = '/pms

随机推荐