7

PHPExcelを使用してExcelファイルとしてエクスポートしたいこの2次元配列があります。

// 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いますが、何か助けはありますか?

4

4 に答える 4

24

PHPExcel には、単一のステップで配列からセルを設定するための組み込みメソッドがあります。

$data = array(
    array ('Name', 'Surname'),
    array('Schwarz', 'Oliver'),
    array('Test', 'Peter')
);
$objPHPExcel->getActiveSheet()->fromArray($data, null, 'A1');
于 2013-10-03T09:50:11.233 に答える
3

このために、関数を使用します

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

配列のインデックスに対して foreach を実行します。列は 0 から始まり、行は 1 から始まります。

于 2013-10-03T09:36:49.113 に答える
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++;
}
于 2013-10-03T09:34:33.503 に答える
0

配列をトラバースするときに代わりに foreach を使用できます。これにより、key=>value ペアが得られます。

何か違うことが予想される場合はお知らせください。

于 2013-10-03T09:34:03.193 に答える