0

我有一个数组

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 有什么问题吗?

4

2 回答 2

0

Stating from column 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");
于 2013-10-07T03:13:10.530 回答
0

Excell 第一行索引将为 1 而不是 0。您要将第一个数组写入第 0 行,将第二个数组写入第 1 行,因此第一个数组无法写入,第二个数组正在写入第一行。

利用,

$i = 1;

代替

$i = 0;
于 2013-10-07T04:08:10.223 回答