数组到Excel 2007使用PHPExcel

我有这个2维数组,我想导出为Excel文件。

// create a simple 2-dimensional array $data = array( 1 => array ('Name', 'Surname'), array('Schwarz', 'Oliver'), array('Test', 'Peter') ); 

问题是我不能预测数组中的键的数量,所以很难使用这种方法

 $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Hello'); $objPHPExcel->getActiveSheet()->SetCellValue('B2', 'world!'); $objPHPExcel->getActiveSheet()->SetCellValue('C1', 'Hello'); $objPHPExcel->getActiveSheet()->SetCellValue('D2', 'world!'); 

我正试图生成一个for循环,将这样做,任何帮助?

PHPExcel有一个内置的方法来设置单个单元格中的单元格:

 $data = array( array ('Name', 'Surname'), array('Schwarz', 'Oliver'), array('Test', 'Peter') ); $objPHPExcel->getActiveSheet()->fromArray($data, null, 'A1'); 

为此,我会使用该function

 $objPHPExcel->getActiveSheet()->SetCellValueByColumnAndRow($column, $row, $text) 

并在数组索引上运行foreach。 列从0开始,行从1开始。

这个可能有所帮助:

 $i = 0; foreach ($data as $key => $value){ $objPHPExcel->getActiveSheet()->SetCellValue(PHPExcel_Cell::stringFromColumnIndex($i).'1', $key); $objPHPExcel->getActiveSheet()->SetCellValue(PHPExcel_Cell::stringFromColumnIndex($i+1).'2', $value); $i++; } 

你可以使用foreach来代替遍历一个数组时,它会给你key =>值对。

请让我知道,如果期望有什么不同。