从Excel工作表中选择一些列并将其插入另一个使用PHP

时间:2015-06-01 12:15:36

标签: php phpexcel

正如我在标题中所说,我想从excel表中选择一些列并将它们插入另一张表中 这是我的代码,当我测试它时会显示这条消息

  

捕获致命错误:第39行的C:\ wamp \ www \ zannier \ index.php中无法将PHPExcel_Worksheet类的对象转换为字符串

粗体代码是第59行

  require_once 'C:\wamp\www\zannier\Classes\PHPExcel\IOFactory.php';

    // Chargement du fichier Excel
    $objPHPExcel = PHPExcel_IOFactory::load("zfg01_CAT.xlsx");

    /**
     * récupération de la première feuille du fichier Excel
     * @var PHPExcel_Worksheet $sheet
     */
    $sheet = $objPHPExcel->getSheet(0);
    $newsheet = $objPHPExcel->createSheet();


    $sheetNames = $objPHPExcel->getSheetNames();
    print_r($sheetNames);
    // On boucle sur les lignes

    foreach ($sheet->getRowIterator() as $row) {


        // On boucle sur les cellule de la ligne
        $i = 0;
        foreach ($row->getCellIterator() as $cell) {

            if ($cell->getColumn() == 'G' OR $cell->getColumn() == 'H'OR $cell->getColumn() == 'I'OR $cell->getColumn() == 'L'OR $cell->getColumn() == 'P'OR $cell->getColumn() == 'X'OR $cell->getColumn() == 'AE') {


                for ($x = 'A'; $x <= 'G'; $x++) {
                    **$objPHPExcel->$newsheet->setCellValueByColumnAndRow($x, $cell->getRow(), $cell->getValue());**
                }
            }
        }
    }
    echo '<table border="1">';
    // On boucle sur les lignes

    foreach ($newsheet->getRowIterator() as $row) {

        echo '<tr>';


        // On boucle sur les cellule de la ligne


        foreach ($row->getCellIterator() as $cell) {
            echo '<td>';

            print_r($cell->getValue());

            echo '</td>';
        }
    }


    echo '<td>';
    $path = "./COLOR/" . getCell($sheet, 'G', $cell->getRow())->getValue() . ".jpg";
    ?>

    <img src= <?php echo $path ?> width="100" height="50"/>
    <?php
    echo '</td>';
    echo '</tr>';

    echo '</table>';
    ?>

1 个答案:

答案 0 :(得分:0)

而不是

$objPHPExcel->$newsheet->setCellValueByColumnAndRow(....);

使用

$newsheet->setCellValueByColumnAndRow(....)

您已将新工作表对象分配给$newsheet,因此它本身就是工作表object,而不仅仅是$objPHPExcel对象的属性