• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

php使用phpexcel导出文件

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

php使用phpexcel导出文件

 首先需要去官网https://github.com/PHPOffice/PHPExcel/下载PHPExcel

代码如下:

<?php
date_default_timezone_set('PRC');
/**
 * 导出提现,充值记录
 * */
function exportWalletStatAction(){
    $body = [
        [
            'order_id'=>1,
            'money'=>2222,
        ],
        [
            'order_id'=>2,
            'money'=>3333,
        ]
    ];

    $head = [['订单号', '金额']];
    $needField = ['order_id','money'];
    $body = filterFiels($body,$needField);
    //导出文件的数据
    $fileName = 'test';
    export($fileName, $head, $body);
}
/**
 * 得到需要导出的字段
 * @return string
 */
function filterFiels($body, $needField)
{
    if (!is_array($body) || !count(array($body))) {
        $this->export();
    }
    $exportData = [];
    if (is_array($body) && count($body)) {
        foreach ($body as $key => $val) {
            foreach ($needField as $needVal) {
                if(isset($val[$needVal])){
                    $exportData[$key][$needVal] = $val[$needVal];
                }
            }
        }
    }
    return $exportData;
}

/**
 * 处理导出文件
 * @param string $fileName
 * @param string $head
 * @param string $body
 * @param bool $clear
 */
function export($fileName = '', $head = '', $body = '', $clear = false)
{
    if (!is_array($body) || !count(array($body)) || empty($body) ) {
        $body = [
            [
                '没有相关数据'
            ]
        ];
    }
    if (is_array($head) && count($head)) {
        $data = array_merge($head, $body);
    } else {
        $data = $body;
    }
    if (!$fileName) {
        $fileName = date('ymdHis');
    } else {
        if (!$clear) {
            $fileName = $fileName . '_' . date('ymdHis');
        }
    }
    $fileName .= '.xls';
    foreach ($data as $key => $val) {
        foreach ($val as $k => $v) {
            if (strpos($v, '=') === 0) {
                $val[$k] = "\t" . $v;
                $data[$key] = $val;
            }
        }
    }
    download($data, $fileName);
}

/**
 * 导出文件
 * @param string $fileName
 * @param string $head
 * @param string $body
 * @param bool $clear
 */
function download($data, $fileName = 'data.xsl')
{
    error_reporting(E_ALL ^ E_NOTICE);
    //error_reporting(0);
    //文件引入
    require_once __DIR__ .'/../../../../public/js/phpexcel/Classes/PHPExcel.php';
    require_once dirname(__FILE__) . '/../../../../public/js/phpexcel/Classes/PHPExcel/Writer/Excel2007.php';
    $objPHPExcel = new \PHPExcel();
    $objPHPExcel->getActiveSheet()->fromArray($data, null, 'A1');
    $objPHPExcel->getActiveSheet()->setTitle('Sheet1');
    $objPHPExcel->setActiveSheetIndex(0);
    ob_end_clean();
    ob_start();
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename="' . $fileName . '"');
    header('Cache-Control: max-age=0');
    $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    $objWriter->save('php://output');
    exit();//调用$objWriter->save('php://output')之后一定要紧跟exit
}
exportWalletStatAction();

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
初次使用海豚php的一个例子发布时间:2022-07-10
下一篇:
PHP实现常用排序算法(含示意动图)发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap