PHP:动态数据导出时为 foreach() 提供的参数无效?



在phpexcel中打印动态数据时出错 - 从我的MYSQL数据库打印数据时出现错误无效参数

$labels = array();
$i = 0;
while ($row1 = mysql_fetch_array($query_result1, MYSQL_ASSOC)) {
$labels[$i++] = $row1["label"];
} 
foreach($labels[0] as $ind=>$label){ //error invalid argument
$letter = range('A', 'Z')[$ind];
$tmp = explode('>',$label); 
$col_names[] = $tmp[0];
echo $letter.'1'."rn";
echo "Column -> $tmp[0] rn"; 
}  
foreach ($labels as $ind=>$item){ //Error invalid Argument
$index = $ind + 2;
foreach($item as $ind2=>$data){
$letter = range('A', 'Z')[$ind2];
$val = explode('>',$data);
$objPHPExcel->getActiveSheet()->setCellValue("$letter$index",$val[1]);
}
} 

我的Var_dump($labels(输出是

array(15) {
[0]=>
string(2) "EY"
[1]=>
string(3) "PWC"
[2]=>
string(8) "Deloitte"
[3]=>
string(4) "KPMG"
[4]=>
string(14) "Grant Thornton"
[5]=>

我请一次添加我的整个代码

它给出了无效的参数错误

正如评论中提到的,$labels[0]不是一个数组,$labels但是是。

改变:

foreach($labels[0] as $ind=>$label){

自:

foreach($labels as $ind => $label) {

进一步阅读。


根据您的意见进行扩展:

foreach($labels as $ind => $label) {
$index = $ind + 2;
$letter = range('A', 'Z')[$ind2];
$val = explode('>', $data);
$objPHPExcel->getActiveSheet()->setCellValue($letter . $index, $val[1]);
}

相关内容

最新更新