如何导出选定的MySQL数据到Excel电子表格

我目前正在我的网站的出口方面工作,使用户能够查看保存在MySQL数据库中的数据。 目前我有一个工作的解决scheme,将查询中选定的所有数据传递给.CSV文件。

我遇到的问题是,我希望能够让用户select自己的数据,然后能够将显示的数据导出到电子表格而不是整个表格。

我首先想到解决这个问题可能会将执行的查询存储到variables中,然后在使用导出脚本时将其包含在内。

这个方法会被推荐吗?还是我偏离了错误的路线? 如果有人能帮助,我将非常感激。

此外,如果这个问题不适合,请你能certificate为什么。 所有的反馈将对未来的职位有用。

您需要使用phpexcel库:

这个完整的例子我以前写过

<?php include("classes/PHPExcel.php"); set_time_limit(0); $sql="Select * from datbase"; // Execute the database query $result = mysql_query($sql) or die(mysql_error()); // Instantiate a new PHPExcel object $objPHPExcel = new PHPExcel(); // Set the active Excel worksheet to sheet 0 $objPHPExcel->setActiveSheetIndex(0); // Initialise the Excel row number $rowCount = 1; // Iterate through each result from the SQL query in turn // We fetch each database result row into $row in turn while($row = mysql_fetch_array($result)){ // Set cell An to the "name" column from the database (assuming you have a column called name) // where n is the Excel row number (ie cell A1 in the first row) $objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $row['user_id']); // Set cell Bn to the "age" column from the database (assuming you have a column called age) // where n is the Excel row number (ie cell A1 in the first row) $objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, $row['email'])); $objPHPExcel->getActiveSheet()->SetCellValue('c'.$rowCount,$row['email']); $objPHPExcel->getActiveSheet()->SetCellValue('d'.$rowCount,$row['email']); $objPHPExcel->getActiveSheet()->SetCellValue('e'.$rowCount,$row['email']); $objPHPExcel->getActiveSheet()->SetCellValue('f'.$rowCount,$row['email']); // Increment the Excel row counter $rowCount++; } $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); // Write the Excel file to filename some_excel_file.xlsx in the current directory $objWriter->save('all_data.xlsx'); ?> 

有关更多信息广告示例: https : //phpexcel.codeplex.com/wikipage?标题=示例