2012-09-28 104 views
0

我試圖用phpexcel.codeplex.com創建一個PHPExcel類的spreedsheet,但是我得到了一個情況,無法弄清楚發生了什麼問題。如何使PHPEXcel添加數據庫中的其他字段

我有3個字段從數據庫插入電位板名稱,價格,股票。

問題是我只獲取產品名稱,這是表格中的第一個字段。

這是我處理的代碼:

$ SQL = 「SELECT名稱,價格,股價從產品」;

$objPHPExcel = new PHPExcel(); 

$res = $con->query($sql); 

// First row 
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow('name', 1, 'Name'); 
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow('price', 1, 'Price'); 
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow('stock', 1, 'Stock'); 

// Other rows 
$i = 2; 
while($row = $res->fetch(PDO::FETCH_ASSOC)) { 
    foreach($row as $col => $data) { 
     $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $i, $data); 
    } 
    $i++; 
} 

// Redirect output to a client web browser (Excel5) 
header('Content-Type: application/vnd.ms-excel'); 
header('Content-Disposition: attachment;filename="report.xls"'); 
header('Cache-Control: max-age=0'); 

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); 
$objWriter->save('php://output'); 
exit; 

我看不到我錯過了什麼?

提前感謝!

回答

2
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow('name', 1, 'Name'); 

列參數應該是一個數字值:0 = A列,1 =列B等 您使用的字符串,將篡改類型爲數值0,所以一切都被寫到第一(0)列,覆蓋已有的東西......我很驚訝你不是簡單地得到最後(股票)列的價值

+0

是的! INdeed,這是我想失蹤... –

相關問題