PHPExcel使用示例

时间:2012-07-09 18:35:37

标签: phpexcel

我正在尝试使用PHPExcel lib。我已经阅读了一些API,但仍然没有弄清楚如何正确使用它。

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

如果我有:

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

因此excel文件中的输出将为:

key1              key2

Content1          Content2
Content3          Content4

key1key2作为标题。

你能帮忙吗?谢谢

2 个答案:

答案 0 :(得分:0)

有些讨论在这里。核实 Example

答案 1 :(得分:0)

这是我的代码我做了什么...但这里的情况略有不同,这里的输入是 excel文件,而输出是&#39中的数组数组;键' => '值'对(在你的情况下反之亦然)这不是一个解决方案,但它可能会帮助你开始。

    <?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);

您也可以帮助这些资源  教程here

CheatSheet here