php把数据导出到excel

一:导出成功的页面


时光疯子博客


二:代码

    1:获取要导出的数据

$data = array(
    array('id'=>1,'name'=>'易小川','email'=>'yixiaochuan@qq.com','time'=>'2008-08-10 12:10:10'),
    array('id'=>2,'name'=>'吕素','email'=>'lvsu@qq.com','time'=>'2009-09-10 11:12:11'),
    array('id'=>3,'name'=>'易大川','email'=>'29177232888@qq.com','time'=>'2002-09-10 11:12:11'),
    array('id'=>4,'name'=>'蒙毅','email'=>'132213232@163.com','time'=>'2003-09-10 09:12:11'),
    array('id'=>5,'name'=>'项羽','email'=>'3662773gsdgsgh@qq.com','time'=>'2009-01-10 11:12:00'),
    array('id'=>6,'name'=>'玉漱','email'=>'ewhywwehhjjj@qq.com','time'=>'2009-09-10 12:12:11'),
);


$title = array('id'=>'序号','name'=>'名字','email'=>'电子邮箱','time'=>'注册日期');

exportToExcel($data,'神话',$title);

    2:生成excel的方法

function exportToExcel($data, $savefile = null, $title = null, $sheetname = 'sheet1') {
    #设置头部信息
    header("Content-type:application/vnd.ms-excel");
    header("Content-Disposition:attachment;filename={$savefile}.xls");
    header("Content-type:text/html;charset=utf-8");

    $str = '';
    $str .= '<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">';
    $str .= '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
    $str .= '<html>';
    $str .= '<head>';
    $str .= '<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />';
    $str .= '<style id="Classeur1_16681_Styles"></style>';
    $str .= '</head>';
    $str .= '<body>';
    $str .= '<div id="Classeur1_16681" align=center x:publishsource="Excel"> ';
    $str .= "<table cellspace='1' cellspading='0' border='0' style='background:red'>";
    $str .= "<tr height='35' style='background:orange'>";

    if(!empty($title)) {
        //遍历标题信息
        foreach($title as $k => $v) {
            $str .= "<th align='center'>{$v}</th>";
        }
        $str .= "</tr>";
    }

    if(!empty($data)) {
        if(!empty($title)) {
            //遍历订单信息
            foreach($data as $k => $v) {
                if($k%2==0) {
                    $style = 'style=background:#fff';
                }else {
                    $style = 'style=background:#eee';
                }
                $str .= "<tr height='28' {$style}>";

                //遍历标题信息
                foreach($title as $k2 => $v2) {
                    $str .= "<td align='center' style='vnd.ms-excel.numberformat:@'>{$v[$k2]}</td>";
                }
                $str .= "</tr>";
            }
        }
    }

    $str .= "</table>";
    $str .= '</div></body></html>';
    echo $str;
}


白俊遥博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论