PHP按日期分组,输出到Excel
我的数据中包含一个日列。每天有400多排 我想将每天的数据导出到他们自己的Excel表格中 要对我使用的数据进行分组,请按日期从mydata group(mydata.day)中选择*代码> 如何获取所有分组数据,并将每个日期数据插入到各自的工作表中,插入excel文档?现在,我的尝试看起来只会插入一天的数据 基本上,我需要为每个使用一个PHP按日期分组,输出到Excel,php,mysql,phpexcel,Php,Mysql,Phpexcel,我的数据中包含一个日列。每天有400多排 我想将每天的数据导出到他们自己的Excel表格中 要对我使用的数据进行分组,请按日期从mydata group(mydata.day)中选择* 如何获取所有分组数据,并将每个日期数据插入到各自的工作表中,插入excel文档?现在,我的尝试看起来只会插入一天的数据 基本上,我需要为每个使用一个,以遍历每个分组的数据。。如中所示,每天循环并输出其工作表中的数据 require_once 'PHPExcel.php'; require_once 'PHPExc
,以遍历每个分组的数据。。如中所示,每天循环并输出其工作表中的数据
require_once 'PHPExcel.php';
require_once 'PHPExcel/IOFactory.php';
@mysql_select_db($db['name']);
$query = mysql_query('SELECT * FROM mydata GROUP BY DATE(mydata.day)');
)
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();
// Create a new worksheet
$objPHPExcel->createSheet();
$sheet=0; //this will need to be outside a loop so I can $sheet++ to set the new ActiveSheetIndex
// Set excelrow to 2 so we skip the line of headings
$excelrow=2;
while($row = mysql_fetch_array($query)){
// Set sheet index
$objPHPExcel->setActiveSheetIndex($sheet);
// Set the sheet title
$objPHPExcel->getActiveSheet()->setTitle($row['day']);
// Set sheet headings
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Name');
$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Email');
// Get the data
$objPHPExcel->getActiveSheet()->SetCellValue('A'.$excelrow, $row['name']);
$objPHPExcel->getActiveSheet()->SetCellValue('B'.$excelrow, $row['email']);
$excelrow++;
}
// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="name_of_file.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
GROUP BY只为每个日期提供一行,并允许您使用聚合函数,如count()
,min()
,max()
,等等。您需要对每个日期使用WHERE day=…
进行查询,以获取该日期的所有行。@Devon感谢Devon的解释。当我不知道天的值时,尤其是在循环中,我如何使用WHERE day=
。你能提供一个答案来说明这一点吗?你可以使用GROUP BY查询中的日期,该查询将提供一个日期列表。所以您只需要两个查询语句和两个循环。不过,您应该看看如何使用mysqli或PDO,PHP中不推荐使用mysql。谢谢@Devon。想提供一个答案让我接受吗?如果你能写一个快速的例子,也将非常感谢!再次感谢