我有一个数组
array(4) {
[0]=>
string(2) "12"
[1]=>
string(2) "17"
[2]=>
string(2) "1.0"
[3]=>
string(2) "1.7"
}
array(4) {
[0]=>
string(1) "3"
[1]=>
string(1) "1"
[2]=>
string(2) "4.1"
[3]=>
string(2) "4.6"
}
我需要将值传递给excel(从C列开始) 我的代码是
foreach ($rate as $row) {
$i = 0;
$j = 2;
foreach ($row as $item) {
$myxls->write_string($i, $j++, $row);
}
$i++;
}
但为什么我只能在第一行写下第二个数组(3,1,4.1,4.6)。缺少第一行。我的foreach有什么不对吗?
答案 0 :(得分:0)
从C栏开始
$this->load->library('phpExcel/PHPExcel');
$objPHPExcel = new PHPExcel;
$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial');
$objPHPExcel->getDefaultStyle()->getFont()->setSize(11);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel2007");
$objSheet = $objPHPExcel->getActiveSheet();
$array = array(
array('name' => 'myname1', 'email' => 'email1'),
array('name' => 'myname2', 'email' => 'email2')
);
$num=0;
foreach($array as $v) {
$num++;
$objSheet->getCell('C'.$num)->setValue($v['name']);
$objSheet->getCell('D'.$num)->setValue($v['email']);
}
$objWriter->save("file.xlsx");
答案 1 :(得分:0)
Excell第一行索引将为1而不是0.您将第一个数组写入第0行,第二个数组写入第1行,因此第一个数组无法写入,第二个数组正在写入第一行。
使用,
$i = 1;
而不是
$i = 0;