使用php的扩展php-xlswriter,不是php-xlsxwriter,实现一个功能,本功能第一步向数据表cardinfo表获取数据,第二步导出excel文件下载到本地下载
时间: 2024-03-31 13:38:03 浏览: 92
python 模拟银行转账功能过程详解
好的,您可以使用以下代码来实现您的功能:
```php
// 连接数据库
$conn = new mysqli("localhost", "username", "password", "database");
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 查询数据
$sql = "SELECT * FROM cardinfo";
$result = $conn->query($sql);
// 导出Excel文件
require_once 'path/to/PhpOffice/PhpSpreadsheet/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
// 设置表头
$sheet->setCellValue('A1', 'ID');
$sheet->setCellValue('B1', '姓名');
$sheet->setCellValue('C1', '手机号码');
// 填充数据
if ($result->num_rows > 0) {
$rowIndex = 2;
while ($row = $result->fetch_assoc()) {
$sheet->setCellValue('A' . $rowIndex, $row['id']);
$sheet->setCellValue('B' . $rowIndex, $row['name']);
$sheet->setCellValue('C' . $rowIndex, $row['phone']);
$rowIndex++;
}
}
// 设置文件名和格式
$fileName = 'cardinfo.xlsx';
// 保存文件
$writer = new Xlsx($spreadsheet);
$writer->save($fileName);
// 下载文件
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="'. $fileName .'"');
header('Cache-Control: max-age=0');
$writer->save('php://output');
exit;
```
请注意替换数据库连接信息和PhpSpreadsheet库的路径。此代码将根据您的数据库中的cardinfo表中的数据生成一个Excel文件,并将其作为下载提供给用户。
阅读全文