excel csv 导出

本文介绍了一种使用PHPExcel库将数据导出为Excel和CSV文件的方法。通过具体代码示例展示了如何设置文件标题、字段名及数据内容,并实现文件下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    public function result_export($title,$list,$field){
//调用PHP_Excel
Vendor("PhpExcel.PHPExcel");
$objExcel = new PHPExcel(); 
$objWriter = new PHPExcel_Writer_Excel2007($objExcel);
$objExcel->setActiveSheetIndex(0);
$objActSheet = $objExcel->getActiveSheet(); 
$objActSheet->setTitle($title);
$letter = 'A';
foreach($field as $values){
$objActSheet->setCellValue($letter.'1',$values);
++$letter;
}
if(is_array($list)){
foreach($list as $k=>$v){
$letter = 'A';
$k = $k+2;
reset($field);
foreach($field as $key=>$value){
$objActSheet->setCellValueExplicit($letter.$k,$v[$key],PHPExcel_Cell_DataType::TYPE_STRING);//setCellValue($letter.$k,$v[$key])
++$letter;
}
}
}
$objExcel->setActiveSheetIndex(0);
spl_autoload_register(array('Think','autoload'));//必须的,不然ThinkPHP和PHPExcel会冲突
header("Content-Type:application/force-download"); 
header("Content-Type:application/octet-stream"); 
header("Content-Type:application/download");
header('Content-Disposition:inline;filename="'.mb_convert_encoding($title,'gb2312','UTF-8').'.xlsx"');
header("Content-Transfer-Encoding: binary");
header("Last-Modified:".gmdate("D, d M Y H:i:s")."GMT");
header("Cache-Control:must-revalidate,post-check=0,pre-check=0");
header("Pragma: no-cache"); 
$objWriter->save('php://output');
}
   
    public function result_export_csv($title,$list,$field){
$filename = $title.".csv";
        header("Content-type:text/csv");
        header("Content-Disposition:attachment;filename=".$filename);
        header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
        header('Expires:0');
        header('Pragma:public');
        $data = implode(',',$field).PHP_EOL;
        if(is_array($list)){
foreach($list as $k=>$v){
reset($field);
                $row = '';
foreach($field as $key=>$value){
$row .= $v[$key].',';
}
                $data .= rtrim($row,',').PHP_EOL;
}
}
        echo $data;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值