数组到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 =>值对。
请让我知道,如果期望有什么不同。