内容列表
PhpSpreadsheet 导出excel php7.4版本
//php7.4版本 可用,更高版本未测试 set_time_limit(0); ini_set('memory_limit', '1024M'); // 实例化excel include 'xxxxxx/autoload.php'; $spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet(); // 获取当前活动的工作表 $sheet = $spreadsheet->getActiveSheet(); $sheet_name = '文件名称'; $fileName = '文件名称_'.date('Ymd_His'); $fileNameFull = iconv("utf-8", "gb2312", $fileName.'.xlsx'); $strs = str_split('ABCDEFGHIJKLMNOPQRSTUVWXYZ',1); $sheet->setTitle( $sheet_name ); $keys = []; $titles = [ '字段1', '字段2', '字段3', '字段', '字段5', ]; foreach ($titles as $k=>$vv){ $apped = ($k ) % 26 ; $key = intval($k / 26) ; $kk = ''; if($key > 0){ $kk .= $strs[$key - 1]; } $kk .= $strs[$apped]; $keys[] = $kk; } foreach ($keys as $k=>$key){ $sheet->setCellValue($key.'1',$titles[$k]); $sheet->getColumnDimension($key)->setAutoSize(true); $cell = $sheet->getCell($key.'1',$titles[$k]); $font = $cell->getStyle()->getFont(); $font->setName('宋体'); $font->setBold(true); $font->setSize(10); } $o_data = [];//原始数据 $data = []; foreach ($o_data as $vv){//加工数据 $data[] = [ $vv['xxxx'], $vv['xxxx'], $vv['xxxx'], $vv['xxxx'], $vv['xxxx'], ]; } foreach ($data as $k=>$vv){ foreach ($keys as $k2=>$key){ $sheet->setCellValue($key.($k+2),$vv[$k2]); $cell = $sheet->getCell($key.($k+2),$vv[$k2]); $font = $cell->getStyle()->getFont(); $font->setName('宋体'); $font->setSize(10); } } ob_clean(); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="'.$fileNameFull); header('Cache-Control: max-age=0'); $writer =new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet); $writer->save('php://output'); exit;
2025-05-22