PHP导出excel文件的多种方式


1、第一种实现的方法

set_time_limit(0); //逐条导出数据
ob_end_clean();
header("Content-type: application/vnd.ms-excel");
header('Content-Disposition: attachment; filename="文章信息统计'.date('YmdHis').'.xls"');
$fp = fopen('php://output', 'w');
fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF));
$title = array('文章标题','平台','名称(id)','分类','发布时间','文章位置');
fputcsv($fp, $title, "\t");
//查询出要导出的内容 此处可根据自己要查询的内容做修改
$carwlInfo = $crawlModel->setFields('*')->where($where)->order($order)->select();
$body = array();
foreach($carwlInfo as $key=>$val){
    $body['title'] = $val['title'];
    $body['name'] = $val['name'];
    $body['type'] = $val['type'];
    $body['behotTime'] = $val['behotTime'];
    $body['position'] = $val['position'];
    fputcsv($fp, $body, "\t");
}

 2、第二种实现的方法:

//输出的文件类型为excel
header("Content-type:application/vnd.ms-excel");
//提示下载
header("Content-Disposition:attachement;filename=Report_".date("Ymd").".xls");

//报表数据
$ReportArr = array(
    array('A','B','C','D','E'),
    array('文章id','文章标题','文章url','文章发布时间','文章相似数'),
);
$ReportContent = '';
$num1 = count($ReportArr);
for ($i=0; $i<$num1; $i++) {
    $num2 = count($ReportArr[$i]);
    for ($j=0; $j<$num2; $j++) {
        //ecxel都是一格一格的,用\t将每一行的数据连接起来
        $ReportContent .= '"'.$ReportArr[$i][$j].'"'."\t";
    }
    //最后连接\n 表示换行
    $ReportContent .= "\n";
}
//用的utf-8 最后转换一个编码为gb
$ReportContent = mb_convert_encoding($ReportContent, "gb2312", "utf-8");
//输出即提示下载
echo $ReportContent;

 

转载于:https://www.cnblogs.com/php-studys/p/7810600.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值