【问题标题】:Array to Excel 2007 using PHPExcel数组到 Excel 2007 使用 PHPExcel
【发布时间】:2013-10-03 09:25:19
【问题描述】:

我有这个二维数组,我想使用 PHPExcel 导出为 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 循环来执行此操作,有什么帮助吗?

【问题讨论】:

  • 您是否查看过 fromArray() 方法,而不是遍历您的数组并设置每个单独的单元格?
  • 现在想象一个你有array(1=>array('Schwarz', 'Oliver','Schwarz', 'Oliver','Schwarz', 'Oliver','Schwarz', 'Oliver','Schwarz', 'Oliver','Schwarz', 'Oliver','Schwarz', 'Oliver','Schwarz', 'Oliver','Schwarz', 'Oliver','Schwarz', 'Oliver'))的情况,你会怎么做?
  • $objPHPExcel->getActiveSheet()->fromArray($myArray, null, 'A1')
  • @MarkBaker 这可能会奏效。让我试试看。

标签: php arrays excel multidimensional-array phpexcel


【解决方案1】:

为此我会使用函数

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

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

【讨论】:

    【解决方案2】:

    PHPExcel 有一个内置方法,可以通过一个步骤从数组中设置单元格:

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

    【讨论】:

    【解决方案3】:

    这个可能有帮助:

    $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++;
    }
    

    【讨论】:

    • 没有。请在此处发布您的实际数据(或其中的一部分)
    【解决方案4】:

    您可以在遍历数组时使用 foreach 代替,它会为您提供 key=>value 对。

    如果有什么不同,请告诉我。

    【讨论】:

    • 不,它不起作用,我以为你得到的是关联数组。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    • 1970-01-01
    • 2014-12-20
    • 1970-01-01
    相关资源
    最近更新 更多