php实现多csv文件导出zip压缩包

使用phpexcel生成csv文件

    $fileNameArr = array();
    foreach ($list as $ii => $group_data) {
        $csv_title = $ii;
        $file_temp = $csv_title . '.csv';
        $fileNameArr[] = $file_temp;
        $PHPExcel = new PHPExcel(); //实例化PHPExcel类
        $PHPSheet = $PHPExcel->getActiveSheet(); //获得当前活动sheet的操作对象
        $PHPSheet->setTitle('sheet'); //给当前活动sheet设置名称
        $i = 1;
        $PHPSheet->setCellValue('A'.$i,'today rank')
             ->setCellValue('B'.$i,'domain');
        foreach ($group_data as $key => $item) {
            $i++;
            $PHPSheet->setCellValue('A'.$i, $item['today_rank'])
                 ->setCellValue('B'.$i, $item['site']);
        }
        $PHPWriter = PHPExcel_IOFactory::createWriter($PHPExcel,'Excel5');
        $PHPWriter->save($file_temp);
    }

    $zipname = "test.zip";
    $zip = new ZipArchive();
    $zip->open($zipname,ZipArchive::CREATE);   //打开压缩包
    foreach ($fileNameArr as $file) {
        $zip->addFile($file, basename($file)); 
    }
    $zip->close();  //关闭压缩包
    foreach ($fileNameArr as $file) {
        unlink($file); //删除csv临时文件
    }
    header('Content-Type: application/zip');
    header('Content-disposition: attachment; filename='.$zipname);
    header('Content-Length: ' . filesize($zipname));
    readfile($zipname);
    unlink($zipname); //删除压缩包临时文件

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章