php中foreach循环,出现一个问题,提取数据时总是缺一条数据?总数100条的提出99条来,剩下一条,不见了
$sskkMap=array('商品代码'=>'A','商品'=>'B','价格'=>'C');$kkssMap=array('aasd'=>'A','sxfd'=>'B...
$sskkMap = array('商品代码'=>'A','商品'=>'B','价格'=>'C');
$kkssMap = array('aasd'=>'A','sxfd'=>'B','dxdx'=>'C');
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
$sql = "select * from CARCAR where '1' LIMIT 0 ,500"; //完成
$lists = $db->select($sql);
$i = 0 ;
foreach($lists as $record)
{
$i++;
if($i == 1) //$i==0,数据首条就出现了。但是表格首行没了
foreach($sskkMap as $k =>$col) //表格首行
{
$objPHPExcel->setActiveSheetIndex()->setCellValue($col.$i, $k);
}
else
foreach($kkssMap as $k =>$col) //表格第二行起。这里总是缺一条数据没提取出来。。
{ //好像就是数据的首条。
$objPHPExcel->setActiveSheetIndex()->setCellValue($col.$i, $record[$k]);
}
}
if(!empty($lists))
{
$objPHPExcel->getActiveSheet()->setTitle('Simple');
$objPHPExcel->setActiveSheetIndex(0);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
} 展开
$kkssMap = array('aasd'=>'A','sxfd'=>'B','dxdx'=>'C');
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
$sql = "select * from CARCAR where '1' LIMIT 0 ,500"; //完成
$lists = $db->select($sql);
$i = 0 ;
foreach($lists as $record)
{
$i++;
if($i == 1) //$i==0,数据首条就出现了。但是表格首行没了
foreach($sskkMap as $k =>$col) //表格首行
{
$objPHPExcel->setActiveSheetIndex()->setCellValue($col.$i, $k);
}
else
foreach($kkssMap as $k =>$col) //表格第二行起。这里总是缺一条数据没提取出来。。
{ //好像就是数据的首条。
$objPHPExcel->setActiveSheetIndex()->setCellValue($col.$i, $record[$k]);
}
}
if(!empty($lists))
{
$objPHPExcel->getActiveSheet()->setTitle('Simple');
$objPHPExcel->setActiveSheetIndex(0);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
} 展开
4个回答
展开全部
同学,你试试这样
$sskkMap = array('商品代码'=>'A','商品'=>'B','价格'=>'C');
$kkssMap = array('aasd'=>'A','sxfd'=>'B','dxdx'=>'C');
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
$sql = "select * from CARCAR where '1' LIMIT 0 ,500"; //完成
$lists = $db->select($sql);
$i = 0 ;
foreach($lists as $record){
if($i == 0){ //$i==0,数据首条就出现了。但是表格首行没了
foreach($sskkMap as $k =>$col){ //表格首行
$objPHPExcel->setActiveSheetIndex()->setCellValue($col.$i, $k);
}
}
else{
foreach($kkssMap as $k =>$col){ //表格第二行起。这里总是缺一条数据没提取出来。。
$objPHPExcel->setActiveSheetIndex()->setCellValue($col.$i, $record[$k]);
}
}
$i++;
}
if(!empty($lists)){
$objPHPExcel->getActiveSheet()->setTitle('Simple');
$objPHPExcel->setActiveSheetIndex(0);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
}
追问
谢谢。试了下你的代码,但是和以前一样。。只能提出100条,但是还是没有首行标题。
现在的状况,就是提取的EXECL表,总数老是100条,要么数据99条+1条标题,要么就是全部100数据+0标题行。。。按理说正确应该为101条,一行标题+100行数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要输出表头就别把表头放在foreach循环里啊,或者提出foreach的index再做判断,而不是用for循环啊
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$sql = "select * from CARCAR where '1' LIMIT 0 ,500"; //完成
我很好奇,后面条件1是给哪个字段的
我很好奇,后面条件1是给哪个字段的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询