下面是“PHP 导出Excel示例分享”的完整攻略:
介绍
在网站开发中,经常需要将数据以表格形式导出为 Excel 文件。PHP 语言提供了丰富的库来进行操作,我们可以使用 PHPExcel 库来实现 Excel 文件的导出。
步骤
1. 下载 PHPExcel 库
可以去官网 https://github.com/PHPOffice/PHPExcel 下载最新版本的 PHPExcel 库,或者使用 Composer 进行安装。
2. 引入 PHPExcel 库
将 PHPExcel 库中的 PHPExcel.php
文件引入项目中。
require_once 'path/to/PHPExcel.php';
3. 创建 Excel 文件对象
创建一个 PHPExcel 对象,用于操作 Excel 文件。
// 新建 Excel 对象
$excel = new PHPExcel();
4. 设置 Excel 头文件
设置 Excel 头文件,告诉浏览器该文件的类型和文件名。
// 设置 Excel 头文件
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="example.xls"');
header('Cache-Control: max-age=0');
5. 编写示例代码
根据需求,编写导出 Excel 文件的代码,如下方的两个示例。
示例一:导出用户信息表
// 设置 Excel 表头
$excel->setActiveSheetIndex(0)
->setCellValue('A1', '用户ID')
->setCellValue('B1', '用户名')
->setCellValue('C1', '手机号码')
->setCellValue('D1', '创建时间');
// 查询用户列表数据
$userList = $db->query('SELECT * FROM users');
// 遍历数据并写入 Excel
$row = 2;
foreach ($userList as $user) {
$excel->setActiveSheetIndex(0)
->setCellValue('A' . $row, $user['id'])
->setCellValue('B' . $row, $user['username'])
->setCellValue('C' . $row, $user['mobile'])
->setCellValue('D' . $row, $user['created_time']);
$row++;
}
// 输出 Excel 文件
$objWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel5');
$objWriter->save('php://output');
示例二:导出销售报表
// 设置 Excel 表头
$excel->setActiveSheetIndex(0)
->setCellValue('A1', '编号')
->setCellValue('B1', '商品名称')
->setCellValue('C1', '销售数量')
->setCellValue('D1', '销售金额');
// 查询销售数据
$saleList = $db->query('SELECT * FROM sales');
// 遍历数据并写入 Excel
$row = 2;
foreach ($saleList as $sale) {
$excel->setActiveSheetIndex(0)
->setCellValue('A' . $row, $sale['id'])
->setCellValue('B' . $row, $sale['product_name'])
->setCellValue('C' . $row, $sale['quantity'])
->setCellValue('D' . $row, $sale['amount']);
$row++;
}
// 输出 Excel 文件
$objWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel5');
$objWriter->save('php://output');
总结
通过使用 PHPExcel 库,可以方便地实现将数据导出为 Excel 文件的功能。在代码中,我们可以根据实际需求,来设置 Excel 表头和数据,并将文件输出给浏览器下载。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP 导出Excel示例分享 - Python技术站