php导出excel

php导出Excel表格

    public function excel()
    {
       $ids = $this->request->param('order_id/a');
//     print_r($ids);exit;
        if (!$ids) {
            $this->error('数据异常');
        }

        $list = Db::name('pig_order')->where('id','in',$ids)->select();
        foreach ($list as $kk => $vv){
            $list[$kk]['buy_mobile'] = Db::name('user')->where('id',$vv['uid'])->value('mobile');
            $list[$kk]['sell_mobile'] = Db::name('user')->where('id',$vv['sell_id'])->value('mobile');
            $list[$kk]['pig_name'] = Db::name('task_config')->where('id',$vv['pig_id'])->value('name');
        }

        vendor("PHPExcel.PHPExcel");
        $objPHPExcel = new \PHPExcel();
        // 设置sheet
        $objPHPExcel->setActiveSheetIndex(0);
        // 设置列的宽度
        $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
        $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
        $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
        $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
        $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(20);

        // 设置表头
        $objPHPExcel->getActiveSheet()->SetCellValue('A1', '订单号');
        $objPHPExcel->getActiveSheet()->SetCellValue('B1', '买家手机号');
        $objPHPExcel->getActiveSheet()->SetCellValue('C1', '卖家手机号');
        $objPHPExcel->getActiveSheet()->SetCellValue('D1', '价格');
        $objPHPExcel->getActiveSheet()->SetCellValue('E1', '宠物名称');
       
        $num = 2;
        foreach ($list as $k => $v) {
            $objPHPExcel->getActiveSheet()->SetCellValue('A' . $num, $v['order_no']);
            $objPHPExcel->getActiveSheet()->SetCellValue('B' . $num, $v['buy_mobile']);
            $objPHPExcel->getActiveSheet()->SetCellValue('C' . $num, $v['sell_mobile']);
            $objPHPExcel->getActiveSheet()->SetCellValue('D' . $num, $v['price']);
            $objPHPExcel->getActiveSheet()->SetCellValue('E' . $num, $v['pig_name']);
            $num++;
        }
        // 文件名称
        $fileName = "订单信息" . date('Y-m-d', time()) . rand(1, 1000);
        $xlsName = iconv('utf-8', 'gb2312', $fileName);
        // 设置工作表名
        $objPHPExcel->getActiveSheet()->setTitle('订单表');
        //下载 excel5与excel2007
        $objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel);

        ob_end_clean();     // 清除缓冲区,避免乱码
        header("Pragma: public");
        header("Expires: 0");
        header("Cache-Control:must-revalidate,post-check=0,pre-check=0");
        header("Content-Type:application/force-download");
        header("Content-Type:application/vnd.ms-execl;charset=UTF-8");
        header("Content-Type:application/octet-stream");
        header("Content-Type:application/download");
        header("Content-Disposition:attachment;filename=" . $xlsName . ".xls");
        header("Content-Transfer-Encoding:binary");
        //$objWriter->save("worker.xls");
        $objWriter->save('php://output');
       
        return json(['code'=>1,'msg'=>'成功']);
    }
PHP 可以使用函数来导出 Excel 文件。你可以使用 PHPExcel 库来实现这一点。 你也可以使用 PHP 的 fputcsv 函数来手动创建 CSV 文件,然后将 CSV 文件导入到 Excel 中。 这是一个使用 PHPExcel导出 Excel 文件的例子: ``` <?php // 引入 PHPExcel 库文件 include 'PHPExcel.php'; // 创建 Excel 文件 $excel = new PHPExcel(); // 设置 Excel 文件属性 $excel->getProperties() ->setCreator("John Doe") ->setLastModifiedBy("John Doe") ->setTitle("Sample Excel File") ->setSubject("Sample Excel File") ->setDescription("Sample Excel File") ->setKeywords("office 2007 openxml") ->setCategory("Sample File"); // 在第一行添加标题 $excel->setActiveSheetIndex(0) ->setCellValue('A1', 'ID') ->setCellValue('B1', 'Name') ->setCellValue('C1', 'Email'); // 在下面的行中添加数据 $excel->setActiveSheetIndex(0) ->setCellValue('A2', 1) ->setCellValue('B2', 'John Doe') ->setCellValue('C2', 'john@example.com'); // 设置工作表名称 $excel->getActiveSheet()->setTitle('Sample Sheet'); // 设置第一个工作表为活动工作表 $excel->setActiveSheetIndex(0); // 将 Excel 文件保存到本地 $writer = PHPExcel_IOFactory::createWriter($excel, 'Excel2007'); $writer->save('excel.xlsx'); ?> ``` 这是使用 fputcsv 函数导出 CSV 文件的例子: ``` <?php // 设置标题行 $header = array('ID', 'Name', 'Email'); // 打开文件句柄 $fp = fopen('csv.csv', 'w'); // 写入标题行 fputcsv($fp, $header); // 写入数据行 $data = array(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值