0

我正在尝试使用 PHPExcel 库。我已经阅读了一些 API,但仍然不知道如何正确使用它。

我正在尝试将数组转换为 Excel 表。

如果我有:

$Array = array(
              array('key1' => 'Content1', 'key2' => 'Content2'),
              array('key1' => 'Content3', 'key2' => 'Content4')
);

所以excel文件中的输出将是:

key1              key2

Content1          Content2
Content3          Content4

key1key2作为标题。

你能帮我吗?谢谢

4

2 回答 2

0

这里有一些讨论。检查它 示例

于 2013-07-08T10:42:40.480 回答
0

这是我的代码我做了什么......但这里的场景有点不同,这里的输入是excel文件,而输出是'key'=>'value'对中的数组数组(就像你的情况一样反之亦然)这不是一个解决方案,但它可能会帮助你继续前进。

    <?php

    include './PHPExcel/IOFactory.php';
    $objPHPExcel = PHPExcel_IOFactory::load('campaign.xlsx');

    foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {

    $highestColumn = $worksheet->getHighestDataColumn();

    //Getting highest column with data
    $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);

    //Getting highest row with data
    $highestRow = $worksheet->getHighestRow(); 

    $header = [];
    //For saving all heading from Excel file.
    for( $i = 0 ; $i <= $highestColumnIndex ; $i++)
    {
        $cell = $worksheet->getCellByColumnAndRow($i,1);
        $val = $cell->getValue();

        $header[] = $val;

    }   

    $completeArray = [];
    $value = [];

    //For saving header and value pairs in a array
    for ($row = 2; $row <= $highestRow; ++ $row) {

        for ($col = 0; $col < $highestColumnIndex; ++ $col) {
            $cell = $worksheet->getCellByColumnAndRow($col, $row);
            $val = $cell->getValue();

            $value[$header[$col]] = $val;
        }

        //Inserting that array... 
        $completeArray[] = $value;

    }

}

echo '<pre>';
print_r($completeArray);
echo '</pre>';

因此,在您的情况下,您可以使用我的示例中的所有 get 方法,例如 getCellByColumnAndRow

setCellValueByColumnAndRow($column, $row, $value);

您也可以在此处获得教程的帮助

备忘单在这里

于 2015-11-27T08:16:12.153 回答