PHP原生实现Excel文件导出,主要有两种方式,一种是使用PHP的PHPExcel库,另一种是使用PHP的fputcsv函数。
使用PHPExcel库
PHPExcel库是一个用于读取和写入Excel文件的强大库,可以轻松实现Excel文件的导出。
使用步骤如下:
- 1、安装PHPExcel库;
- 2、引入PHPExcel库;
- 3、实例化PHPExcel对象;
- 4、设置Excel表格的样式;
- 5、设置Excel表格的内容;
- 6、设置文件的名称;
- 7、输出Excel文件;
// 安装PHPExcel库 composer require phpoffice/phpexcel // 引入PHPExcel库 require_once './vendor/autoload.php'; // 实例化PHPExcel对象 $excel = new \PHPExcel(); // 设置Excel表格的样式 $excel->getActiveSheet()->getDefaultStyle()->getFont()->setName('Arial'); $excel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(12); // 设置Excel表格的内容 $data = array( array('name'=>'张三','age'=>20,'sex'=>'男'), array('name'=>'李四','age'=>22,'sex'=>'女'), array('name'=>'王五','age'=>24,'sex'=>'男'), ); $excel->getActiveSheet()->fromArray($data); // 设置文件的名称 $excel->getActiveSheet()->setTitle('测试文件'); // 输出Excel文件 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="test.xls"'); header('Cache-Control: max-age=0'); $writer = \PHPExcel_IOFactory::createWriter($excel, 'Excel5'); $writer->save('php://output');
使用fputcsv函数
fputcsv函数可以将数据转换成CSV格式,从而实现Excel文件的导出。
使用步骤如下:
- 1、定义CSV文件的文件名;
- 2、设置HTTP头;
- 3、打开文件;
- 4、循环写入文件;
- 5、关闭文件;
// 定义CSV文件的文件名 $filename = "test.csv"; // 设置HTTP头 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'); // 打开文件 $fp = fopen('php://output', 'a'); // 循环写入文件 $data = array( array('name'=>'张三','age'=>20,'sex'=>'男'), array('name'=>'李四','age'=>22,'sex'=>'女'), array('name'=>'王五','age'=>24,'sex'=>'男'), ); foreach($data as $row){ fputcsv($fp, $row); } // 关闭文件 fclose($fp);