zoukankan      html  css  js  c++  java
  • PHP输出excel CSV等文件

    <?php
    $fileName = "fileName";
    header("Content-Type:text/csv;charset=UTF-8"); //'text/csv'是CSV文件,'application/vnd.ms-excel'是excel文件
    header("Content-Disposition: attachment; filename=" . $fileName . ".csv"); //$fileName文件名,“.csv”文件扩展名也可是".xls"excel文件
    header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
    header('Expires:0');
    header('Pragma:public');
    
    echo "\n" . iconv("utf-8", "gbk", "大连,") . "\t" . iconv("utf-8", "gbk", "大连2");
    //echo就是输出内容到文件中,"\n"是换行,"\t"在excel文件里是换格,","在CSV文件里是换格
    
    //生成或补充CSV文件也可用如下方法
    $fileName = "test.csv";
    $file = fopen($fileName, 'a');//打开指定csv文件,没有则创建
    $fields = array( "txt11" ,  "txt21" , "txt31");
    fputcsv ( $file ,  $fields );//在打开的csv文件内容末尾另起一行,添加数组中内容,数组一个元素代表一个单元格
    $fields = array( "txt12" ,  "txt22" , "txt32");
    fputcsv ( $file ,  $fields );//再另起一行添加数组内容
    fclose ( $file );//关闭文件句柄
    
    
    
    //生成excel还有如下方法
    $filename = "导出数据表";
    $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" );
    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>";
    echo "
        <tr>
        <td>".iconv ( "utf-8", "gbk", "标题一 ")."</td>
        <td>".iconv ( "utf-8", "gbk", "标题二 ")."</td>
        <td>".iconv ( "utf-8", "gbk", "标题三")."</td>
        </tr>
        ";
    
    echo "
        <tr>
        <td>".iconv ( "utf-8", "gbk", '内容一' )."</td>
        <td style='vnd.ms-excel.numberformat:@'>12345678910123456</td>
        <td style='vnd.ms-excel.numberformat:yyyy-mm-dd'>2016/10/24</td>
        </tr>
        ";
    echo "</table>";
    exit ();
    //<td>即代表换格,<tr>代表换行
    //style='vnd.ms-excel.numberformat:@'表示避免将表格中长数字用科学计数显示
    //style='vnd.ms-excel.numberformat:yyyy-mm-dd' 表示将表格中内容按指定样式显示
  • 相关阅读:
    tomcat使用redis存储共享session
    dubbo专题」dubbo其实很简单,就是一个远程服务调用的框架(1)
    SpringBoot Test集成测试
    IntelliJ Idea设置护眼浅绿色背景方法
    IDEA使用有道翻译插件
    IDEA Translation插件中有道智云(有道翻译)应用ID,密钥申请教程
    利用grep-console插件使Intellij idea显示多颜色调试日志
    mybatis 整合spring之mapperLocations配置的问题
    idea将maven项目打包成war包的方式,以及使用war包
    maven 常用命令
  • 原文地址:https://www.cnblogs.com/dreamhome/p/2410775.html
Copyright © 2011-2022 走看看