用php写一个利用phpexcel导出数据库大量数据的功能实例
时间: 2024-02-27 21:53:36 浏览: 71
php导出excel实例
3星 · 编辑精心推荐
好的,以下是一个简单的示例代码,使用 PHPExcel 库来导出数据库中的大量数据:
```php
// 引入 PHPExcel 库
require_once 'PHPExcel.php';
// 连接数据库
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 查询数据库中的数据
$sql = "SELECT * FROM your_table";
$result = $conn->query($sql);
// 创建一个新的 Excel 文件
$objPHPExcel = new PHPExcel();
// 设置工作表标题
$objPHPExcel->getActiveSheet()->setTitle('Export Data');
// 添加表头
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'ID');
$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Name');
$objPHPExcel->getActiveSheet()->setCellValue('C1', 'Email');
$objPHPExcel->getActiveSheet()->setCellValue('D1', 'Phone');
// 添加数据
if ($result->num_rows > 0) {
$i = 2;
while($row = $result->fetch_assoc()) {
$objPHPExcel->getActiveSheet()->setCellValue('A'.$i, $row["id"]);
$objPHPExcel->getActiveSheet()->setCellValue('B'.$i, $row["name"]);
$objPHPExcel->getActiveSheet()->setCellValue('C'.$i, $row["email"]);
$objPHPExcel->getActiveSheet()->setCellValue('D'.$i, $row["phone"]);
$i++;
}
}
// 设置单元格自动宽度
foreach(range('A','D') as $columnID) {
$objPHPExcel->getActiveSheet()->getColumnDimension($columnID)
->setAutoSize(true);
}
// 输出 Excel 文件
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="export_data.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
// 关闭数据库连接
$conn->close();
```
你可以将上述代码保存为 PHP 文件,通过浏览器访问该文件即可下载导出的 Excel 文件。请注意,这只是一个简单的示例代码,实际情况下你需要根据自己的数据表结构和需求进行修改。
阅读全文