在日常工作中,我們常常需要處理Excel表格,其中包括導出Excel表格。而PHP作為一門非常強大的語言,自然也提供了一些方便的工具來處理Excel導出。本文將通過舉例說明,為大家介紹PHP Excel導出方案。
首先,我們需要一個PHP Excel導出類,常用的有PHPExcel和PhpSpreadsheet兩個類庫。這兩個類庫都非常強大,可以處理復雜的Excel操作,但也相對比較復雜。下面我們以PhpSpreadsheet為例,切入到具體的操作流程。
require_once 'vendor/autoload.php'; //引用自動加載的文件 use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; $spreadsheet = new Spreadsheet(); //實例化一個Excel對象 //設置表頭 $spreadsheet->setActiveSheetIndex(0)->setCellValue('A1', '姓名') ->setCellValue('B1', '年齡') ->setCellValue('C1', '性別'); //設置數據 $spreadsheet->setActiveSheetIndex(0)->setCellValue('A2', '小明') ->setCellValue('B2', '18') ->setCellValue('C2', '男') ->setCellValue('A3', '小紅') ->setCellValue('B3', '20') ->setCellValue('C3', '女'); //設置導出格式 $writer = new Xlsx($spreadsheet); header('Content-Disposition: attachment;filename="demo.xlsx"'); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); $writer->save('php://output');
以上代碼就是一個簡單的Excel導出實現,首先我們實例化了一個Excel對象$spreadsheet,然后通過setActiveSheetIndex函數設置了表頭和數據。最后通過Writer來設置導出格式,header來設置下載的文件名和文件類型,最后將數據導出到php輸出流中。
如果我們需要導出更復雜的Excel表格,比如含有多個Sheet表格、自定義樣式等,我們可以通過PhpSpreadsheet提供的豐富功能來實現。比如以下的代碼實現了對Excel表格多Sheet的實現:
require_once 'vendor/autoload.php'; //引用自動加載的文件 use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; $spreadsheet = new Spreadsheet(); //實例化一個Excel對象 //設置Sheet1表格 $sheet1 = $spreadsheet->getActiveSheet(); $sheet1->setTitle('Sheet1'); $sheet1->setCellValue('A1', 'Sheet1姓名') ->setCellValue('B1', 'Sheet1年齡') ->setCellValue('C1', 'Sheet1性別'); $sheet1->setCellValue('A2', '小明') ->setCellValue('B2', '18') ->setCellValue('C2', '男') ->setCellValue('A3', '小紅') ->setCellValue('B3', '20') ->setCellValue('C3', '女'); //設置Sheet2表格 $sheet2 = $spreadsheet->createSheet(); $sheet2->setTitle('Sheet2'); $sheet2->setCellValue('A1', 'Sheet2姓名') ->setCellValue('B1', 'Sheet2年齡') ->setCellValue('C1', 'Sheet2性別'); $sheet2->setCellValue('A2', '小李') ->setCellValue('B2', '30') ->setCellValue('C2', '男') ->setCellValue('A3', '小張') ->setCellValue('B3', '40') ->setCellValue('C3', '女'); //設置導出格式 $writer = new Xlsx($spreadsheet); header('Content-Disposition: attachment;filename="demo.xlsx"'); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); $writer->save('php://output');
以上代碼中,我們創建了一個新的Sheet表格,然后設置表頭和數據。最后通過導出格式Writer,將多個表格數據導出到同一個Excel文件中。
本文通過PhpSpreadsheet實現Excel導出的方式,希望大家能夠把這個知識應用到實際的工作和項目中。Excel表格是工作中非常重要的一部分,通過PHP來實現Excel的導出功能,非常方便快捷,增強了我們的工作效率。
上一篇php execute
下一篇php exe