php 读取数据库生成xls文件
时间: 2023-07-18 07:37:35 浏览: 56
生成 XLS 文件需要使用 PHP 扩展库 PHPExcel。使用 PHPExcel 可以方便地创建 Excel 文件并填充数据。下面是一个简单的示例,展示如何使用 PHPExcel 读取数据库中的数据并生成 XLS 文件:
```php
<?php
// 引入 PHPExcel 类
require_once 'PHPExcel.php';
// 连接数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 创建新的 Excel 实例
$objPHPExcel = new PHPExcel();
// 设置工作表的属性
$objPHPExcel->getProperties()->setCreator("Creator")
->setLastModifiedBy("Last Modified By")
->setTitle("Title")
->setSubject("Subject")
->setDescription("Description")
->setKeywords("keywords")
->setCategory("category");
// 选择工作表
$objPHPExcel->setActiveSheetIndex(0);
// 设置列名
$objPHPExcel->getActiveSheet()->setCellValue('A1', '列1');
$objPHPExcel->getActiveSheet()->setCellValue('B1', '列2');
$objPHPExcel->getActiveSheet()->setCellValue('C1', '列3');
// 查询数据库中的数据
$sql = "SELECT * FROM table_name";
$result = $conn->query($sql);
// 将数据填充到工作表中
if ($result->num_rows > 0) {
$row_num = 2;
while($row = $result->fetch_assoc()) {
$objPHPExcel->getActiveSheet()->setCellValue('A' . $row_num, $row['column1']);
$objPHPExcel->getActiveSheet()->setCellValue('B' . $row_num, $row['column2']);
$objPHPExcel->getActiveSheet()->setCellValue('C' . $row_num, $row['column3']);
$row_num++;
}
}
// 设置文件格式为 XLS
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
// 输出文件到浏览器下载
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="filename.xls"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
// 关闭数据库连接
$conn->close();
?>
```
你需要将 `username`、`password`、`database` 和 `table_name` 替换为你自己的数据库信息和表名,将 `column1`、`column2` 和 `column3` 替换为你自己的列名。最后,将文件保存为 PHP 文件并在浏览器中访问该文件即可下载生成的 XLS 文件。