正如我在标题中所说,我想从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>';
?>
答案 0 :(得分:0)
而不是
$objPHPExcel->$newsheet->setCellValueByColumnAndRow(....);
使用
$newsheet->setCellValueByColumnAndRow(....)
您已将新工作表对象分配给$newsheet
,因此它本身就是工作表object
,而不仅仅是$objPHPExcel
对象的属性