php导出数据到excel

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php导出数据到excel相关的知识,希望对你有一定的参考价值。

类下载地址   https://github.com/phpOffice/PHPExcel

require_once \'./Classes/PHPExcel.php\';
$obj = new PHPExcel();
$objSheet = $obj->getActiveSheet();   //获取sheet操作对象
$objSheet->setTitle(\'demo\');         //给当前sheet设置名称
//填充数据
$objSheet->setCellValue("A1","姓名")->setCellValue("B1","分数");
$objSheet->setCellValue("A2","za_szbyko")->setCellValue("B2","60");
//按照指定个是生成excel
$objWrite = PHPExcel_IOFactory::createWriter($obj, \'Excel2007\');
$_savePath = \'abc\'.\'.xlsx\';
$objWrite->save($_savePath);


//创建多sheet
require_once \'./Classes/PHPExcel.php\';
$data=array(
    array(
        \'name\'=>\'张三\',
        \'score\'=>80,
        \'banji\'=>\'一班\',
    ),
    array(
        \'name\'=>\'张四\',
        \'score\'=>90,
        \'banji\'=>\'二班\',
    ),
    array(
        \'name\'=>\'张五\',
        \'score\'=>100,
        \'banji\'=>\'三班\',
    ),
);

$obj = new PHPExcel();

for($i=1;$i<=3;$i++){
    if($i>1){
        $obj->createSheet();//创建新的内置表
    }
    $obj->setActiveSheetIndex($i-1);//把新创建的sheet设定为当前活动sheet
    $objSheet = $obj->getActiveSheet();//获取当前活动sheet
    $objSheet->setTitle($i."年级");//当前活动sheet起名称
    $objSheet->setCellValue(\'A1\', \'姓名\')->setCellValue(\'B1\', \'分数\')->setCellValue(\'c1\', \'班级\');//填充数据
    $j=2;
    foreach($data as $key=>$val){
        $objSheet->setCellValue(\'A\'.$j, $val[\'name\'])->setCellValue(\'B\'.$j,$val[\'score\'])->setCellValue(\'c\'.$j, $val[\'banji\']);
        $j++;
    }
}

$objWrite = PHPExcel_IOFactory::createWriter($obj, \'Excel5\');
$_savePath = \'abc\'.\'.xls\';
//$objWrite->save($_savePath);  保存文件

/输出到浏览器
browser_export(\'Excel5\',$_savePath);
$objWrite->save(\'php://output\');

//输出excel 文件到浏览器
function browser_export($type,$filename){
    if($type=="Excel5"){
        header(\'Content-Type: application/vnd.ms-excel\'); //告诉浏览器将要输出excel03文件
    }else{
        header(\'Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\');//告诉浏览器数据excel07文件
    }
    header(\'Content-Disposition: attachment;filename="\'.$filename.\'"\');  //告诉浏览器将输出文件的名称
    header(\'Cache-Control: max-age=0\');  //禁止缓存
}

 

以上是关于php导出数据到excel的主要内容,如果未能解决你的问题,请参考以下文章

php数据几行代码导出到excel(非插件)

使用原生php将数据库数据导出到excel文件中

php怎么导出大量数据的Excel

Delphi中导出数据到excel

PHP导出100万数据到excel

怎么解决从php导出的excel文件打开时弹出文件格式不一致问题(还有无边框显示问题,见“问题补充”)