給所有的數據我用PHPExcel
導出我的表中的數據excel文件PHPExcel不從MySQL
在我的代碼我嘗試從2個表導出一個excel表我的代碼工作,但
的問題是我所有的數據 - 1
我的意思,如果我有5行應該是在Excel文件我只收到4
這是我的代碼:
<?php
$project=$_POST['project'];
//populate the data
$row=4;
while($data=mysqli_fetch_object($query)){
$excel->getActiveSheet()->setCellvalue('A'.$row,$data->db_projectid)
->setCellvalue('B'.$row,$data->db_projectname)
->setCellvalue('C'.$row,$data->loc)
//incriment the row
$row++;
}
//make table headers
$excel->getActiveSheet()
->setCellValue('A1','Project')
->setCellValue('A3','#')
->setCellValue('B3','Project Name')
->setCellValue('C3','Location');
if(mysqli_num_rows($activitieQuery)>0){
$row=7;
while($data=mysqli_fetch_object($activitieQuery)){
$excel->getActiveSheet()
->setCellvalue('A'.$row,$data->db_id)
->setCellvalue('B'.$row,$data->db_activityname)
->setCellvalue('C'.$row,$data->db_category)
->setCellvalue('D'.$row,$data->db_priority);
//incriment the row
$row++;
}
//make table headers
$excel->getActiveSheet()
->setCellValue('A6','Activities')
->setCellValue('A7','#')
->setCellValue('B7','Activity Name')
->setCellValue('C7','Category')
->setCellValue('D7','Priority');
}
//write the result to a file
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment; filename="project.xlsx"');
header('Cache-Control:max-age=0');
header('Cache-Control: max-age=1');
$file=PHPExcel_IOFactory::createWriter($excel,'Excel2007');
//output to php output instead of filename
$file->save("php://output");
exit;
?>
我如何收到我想要的所有數據而沒有任何問題。
當我打印mysqli_num_rows($activitieQuery);
我有5號
,如果我打印例如$data->db_id
我收到5個id,而不是4
但是,當我導出到Excel文件,我收到4個id,而不是5我該如何解決那?
對於我的第一張表我沒有任何問題我的問題是與第二張表tbl_activities只有任何一個有想法如何解決?
請修剪你的代碼(刪除你的程序的所有非必要的部分) 。它有兩個目的:你可以在你的最後運行一個更簡單的測試用例,而且它更容易閱讀。例如,標題生成部分是不相關的,我們不需要知道輸出文件的每一列。此外,您可能想要在Excel生成過程之外測試您的循環,因爲我懷疑問題是否與Excel本身相關聯(例如,在循環中只是'echo $ data-> db_id')。 – RandomSeed
@RandomSeed請檢查上面的代碼,並在我的循環中,我做了你所說的echo $ data-> db_id,並且我收到5個ids而不是4,但是在excel中我有4個,並且在我的問題中提到了感謝您的回覆 –