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);