PHP按日期分组,输出到Excel

时间:2015-04-30 05:34:51

标签: php mysql phpexcel

我的数据包含日期列。每天有超过400排。

我想将每天的数据导出到自己的Excel表格中。

要对我使用的数据进行分组SELECT * FROM mydata GROUP BY DATE(mydata.day);

如何获取所有分组数据并插入到Excel文档中,每个日期数据都在自己的工作表中?现在我的尝试看起来只会插入一天的数据。

基本上,我需要一个for each来浏览每个分组数据。就像每天一样,循环并输出其表格中的数据。

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');

0 个答案:

没有答案