下面是关于PHP输出Excel PHPExcel的方法的完整攻略,包含以下几个部分:
- 安装PHPExcel
要使用PHPExcel,需要先将它安装到你的项目中。可以从PHPExcel的官方网站https://github.com/PHPOffice/PHPExcel下载最新版本的代码,也可以使用composer命令进行安装。如果使用composer,可以在项目根目录下使用以下命令进行安装:
composer require phpoffice/phpexcel
安装完成后,就可以在项目中使用PHPExcel了。
- 创建Excel文件并添加数据
可以使用以下代码创建一个Excel文件并添加数据:
//引入PHPExcel类库
require_once 'path/to/PHPExcel.php';
//新建excel类
$objPHPExcel = new PHPExcel();
//设置文档属性
$objPHPExcel->getProperties()->setCreator("Your name")
->setLastModifiedBy("Your name")
->setTitle("Demo")
->setSubject("Demo")
->setDescription("Demo")
->setKeywords("Demo");
//添加数据
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', '数据1')
->setCellValue('B1', '数据2')
->setCellValue('C1', '数据3')
->setCellValue('A2', '1')
->setCellValue('B2', '2')
->setCellValue('C2', '3');
这段代码创建了一个包含3列数据的Excel文件,并将数据添加到第1行和第2行。
- 输出Excel文件
可以使用以下代码将Excel文件输出到浏览器:
//下载excel文件
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="demo.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
这段代码设置了响应头,将Excel文件发送到浏览器进行下载。
- 示例说明
下面给出2个示例说明:
示例1:生成包含员工信息的报表
//引入PHPExcel类库
require_once 'path/to/PHPExcel.php';
//新建excel类
$objPHPExcel = new PHPExcel();
//设置文档属性
$objPHPExcel->getProperties()->setCreator("Your name")
->setLastModifiedBy("Your name")
->setTitle("员工信息表")
->setSubject("员工信息表")
->setDescription("员工信息表")
->setKeywords("员工信息表");
//添加表头
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', '姓名')
->setCellValue('B1', '年龄')
->setCellValue('C1', '工资')
->setCellValue('D1', '性别');
//连接数据库
$conn = mysqli_connect('localhost', 'username', 'password', 'database');
//查询员工信息
$sql = "SELECT * FROM employees";
$result = mysqli_query($conn, $sql);
//将结果添加到Excel中
$i = 2;
while ($row = mysqli_fetch_assoc($result)) {
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A' . $i, $row['name'])
->setCellValue('B' . $i, $row['age'])
->setCellValue('C' . $i, $row['salary'])
->setCellValue('D' . $i, $row['gender']);
$i++;
}
//下载excel文件
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="employees.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
这段代码可以生成一个包含员工信息的Excel报表。
示例2:生成包含学生成绩的报表
//引入PHPExcel类库
require_once 'path/to/PHPExcel.php';
//新建excel类
$objPHPExcel = new PHPExcel();
//设置文档属性
$objPHPExcel->getProperties()->setCreator("Your name")
->setLastModifiedBy("Your name")
->setTitle("学生成绩表")
->setSubject("学生成绩表")
->setDescription("学生成绩表")
->setKeywords("学生成绩表");
//添加表头
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', '姓名')
->setCellValue('B1', '语文')
->setCellValue('C1', '数学')
->setCellValue('D1', '英语');
//读取数据
$data = [
['name' => '张三', 'chinese' => 80, 'math' => 90, 'english' => 70],
['name' => '李四', 'chinese' => 70, 'math' => 75, 'english' => 85],
['name' => '王五', 'chinese' => 90, 'math' => 85, 'english' => 80],
];
//将数据添加到Excel中
$i = 2;
foreach ($data as $row) {
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A' . $i, $row['name'])
->setCellValue('B' . $i, $row['chinese'])
->setCellValue('C' . $i, $row['math'])
->setCellValue('D' . $i, $row['english']);
$i++;
}
//下载excel文件
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="scores.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
这段代码可以生成一个包含学生成绩的Excel报表。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP输出Excel PHPExcel的方法 - Python技术站