2012-09-28 150 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,这是我想失踪... –

相关问题