首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP Excel导出仅显示mysql表中的最后一行

PHP Excel导出仅显示MySQL表中的最后一行是指使用PHP Excel库将MySQL表中的数据导出为Excel文件时,只显示表中最后一行数据的问题。

解决这个问题的方法是通过以下步骤:

  1. 连接到MySQL数据库:使用PHP的MySQL扩展或PDO扩展连接到MySQL数据库。可以使用以下代码示例:
代码语言:php
复制
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
  1. 查询MySQL表数据:编写SQL查询语句,从MySQL表中获取需要导出的数据。可以使用以下代码示例:
代码语言:php
复制
$sql = "SELECT * FROM table_name";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        // 处理每一行数据
    }
}
  1. 创建Excel文件并导出数据:使用PHP Excel库创建一个新的Excel文件,并将查询到的数据逐行写入Excel文件。可以使用以下代码示例:
代码语言:php
复制
require_once 'PHPExcel/PHPExcel.php';

$objPHPExcel = new PHPExcel();
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Column 1');
$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Column 2');
// 设置其他列标题

$row = 2;
while ($row_data = $result->fetch_assoc()) {
    $objPHPExcel->getActiveSheet()->setCellValue('A' . $row, $row_data['column1']);
    $objPHPExcel->getActiveSheet()->setCellValue('B' . $row, $row_data['column2']);
    // 设置其他列数据

    $row++;
}

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('output.xlsx');
  1. 下载Excel文件:将生成的Excel文件提供给用户下载。可以使用以下代码示例:
代码语言:php
复制
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="output.xlsx"');
header('Cache-Control: max-age=0');

$objWriter->save('php://output');

综上所述,通过以上步骤,可以使用PHP Excel库将MySQL表中的数据导出为Excel文件,并显示所有行数据,而不仅仅是最后一行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券