• php导出excel(xls或xlsx)


    复制代码
    $titles                = array('订单号','商品结算码','合同号','供应商名称','专柜','商品名称','商品货号','商品单价','商品总价','供应商结算金额','商品数量','商品促销优惠','平台优惠抵扣','品牌订单优惠抵扣');
    
    //导出准备
    ob_get_clean();
    ob_start();
    echo implode("	", $titles),"
    ";
    
    $currencyModel      = app::get('ectools')->model('currency');
    foreach ($lists as $key=>$value) {
        $row                             = array();
        $row['order_id']                = html_entity_decode("".$value['order_id']);
        $row['supplier_num']            = $value['supplier_num'];
        $row['agreement_code']            = $value['agreement_code'];
        $row['supplier_name']            = $value['supplier_name'];
        $row['shoppe_name']                = $value['shoppe_name'];
        $row['name']                    = $value['name'];
        $row['bn']                        = $value['bn'];
        $row['price']                   = $value['price'];
        $row['nums']                    = $value['nums'];
        $row['g_price']                 = $value['g_price'];
        $row['settlement_amount']       = $value['settlement_amount'];
        $row['goods_amount_off']         = $value['goods_amount_off'];
        $row['amount_off']                 = $value['amount_off'];
        $row['brand_amount_off']         = $value['brand_amount_off'];
    
        echo implode("	", $row),"
    ";
    }
    
    header('Content-Disposition: attachment; filename='.$filename);
    header('Accept-Ranges:bytes');
    header('Content-Length:' . ob_get_length());
    header('Content-Type:application/vnd.ms-excel');
    ob_end_flush();
    复制代码

    2)格式选择

    需要导出xls的话,用

    header('Content-Type:application/vnd.ms-excel');

    需要导出xlsx的话,用

    header('Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');

    xls和xlsx的区别的话,是储存数据量大小的问题,xls只可以保存大概5、6w数据,xlsx可以100w左右

    3)长数字完整显示解决办法

    $row['order_id']                = html_entity_decode("".$value['order_id']);

    转:  https://www.cnblogs.com/tujia/p/5999806.html

    download.php下载

    复制代码
    <?php
    //获取要下载的文件名
    $filename = $_GET['filename'];
    //设置头信息
    header('Content-Disposition:attachment;filename=' . basename($filename));
    header('Content-Length:' . filesize($filename));
    //读取文件并写入到输出缓冲
    readfile($filename);
    复制代码
  • 相关阅读:
    Java并发编程
    详细分析Java中断机制[转]
    JAVA多线程面试题
    读书就读经典,经典技术书大全
    Linux top命令
    博客园博客修改模板的CSS
    Redis工业生产应用场景
    Redis作者谈Redis应用场景
    服务器如何判断访问用户来自哪个国家地区?
    Windows10锁屏壁纸提取
  • 原文地址:https://www.cnblogs.com/66w66/p/14348518.html
Copyright © 2020-2023  润新知