這樣匯出是只有第一行有值,但如果我把第一個紅框裡的代碼刪了,第二,三,四...行就有值了。
第一行的值是標題,如性別,年齡等。
第二,三,四...行是對應的性別,年齡等的值。
求幫忙,,,十萬火急。。。
回複討論(解決方案)
圖太小,看不清
你就不能貼代碼嗎?
for($m_k=0,$column_num0='A';$m_k<$column_max,$column_num0<'ZZ';$column_num0++,$m_k++){//$objectPHPExcel->getActiveSheet()->getColumnDimension($column_num0)->setWidth(10);//$objectPHPExcel->setActiveSheetIndex(0)->setCellValue($column_num0.'1',$m_arr[$m_k]);//$objectPHPExcel->getActiveSheet()->getStyle((string)($column_num0.'1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);}for($key_num=0;$key_num<$row_max;$key_num++){$row_num=$key_num+2;//數組的索引是行號-2$avar_arr=array_filter(explode('|',$data[$key_num]['avar']));$answer_arr=array_filter(explode('|',$data[$key_num]['aanswer']));$d_arr=array_combine($avar_arr,$answer_arr);foreach($d_arr as $k=>$v){foreach($m_arr as $k1=>$v1){if(!isset($d_arr[$v1])){$d_arr[$v1]=' ';}}}ksort($d_arr);$d_arr=array_values($d_arr);for($column_num='A',$column_num2=1;$column_num<'ZZ',$column_num2<301;$column_num++,$column_num2++){foreach($d_arr as $k=>$v){if($k==($column_num2-1)){$objectPHPExcel->getActiveSheet()->setCellValue($column_num.$row_num,$v);$objectPHPExcel->getActiveSheet()->getStyle((string)($column_num.$row_num))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);}}}}header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="'.date('Ymd-His').'.xls"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objectPHPExcel, 'Excel5'); $objWriter->save('php://output');
@
圖太小,看不清
你就不能貼代碼嗎?
版主```那三行是我測試時候注釋掉的,,幫忙看看,,
圖太小,看不清
你就不能貼代碼嗎?
第一個for迴圈是設定第一行的值
第二個for迴圈是設定第二,三,四...行的值
這樣匯出只有第一行是有值的,第二,三,四...行沒有值。
如果注釋掉第一個for迴圈,第二,三,四...行就有值了。
該怎麼解決呢?