如何将数组值传递给excel

时间:2013-10-07 03:02:41

标签: php

我有一个数组

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有什么不对吗?

2 个答案:

答案 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;