PHP Excel导出仅显示MySQL表中的最后一行是指使用PHP Excel库将MySQL表中的数据导出为Excel文件时,只显示表中最后一行数据的问题。
解决这个问题的方法是通过以下步骤:
$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);
}
$sql = "SELECT * FROM table_name";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
// 处理每一行数据
}
}
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');
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文件,并显示所有行数据,而不仅仅是最后一行。
领取专属 10元无门槛券
手把手带您无忧上云