Comment puis-je ajouter une nouvelle ligne à un fichier .xls existant en utilisant PHPExcel?Ajouter une nouvelle ligne avec PHPExcel?
Dois-je calculer le nombre de lignes qui existent déjà?
Si oui, comment puis-je faire cela pour un fichier Excel?
Comment puis-je ajouter une nouvelle ligne à un fichier .xls existant en utilisant PHPExcel?Ajouter une nouvelle ligne avec PHPExcel?
Dois-je calculer le nombre de lignes qui existent déjà?
Si oui, comment puis-je faire cela pour un fichier Excel?
En supposant cette configuration:
$objPHPExcel = PHPExcel_IOFactory::load("foo.xlsx");
$objWorksheet = $objPHPExcel->getActiveSheet();
Vous pouvez obtenir le nombre de lignes comme ceci:
$num_rows = $objPHPExcel->getActiveSheet()->getHighestRow();
Après cela, vous pouvez regarder en insérer une ligne en utilisant la déclaration suivante:
Cela ajoute 1 nouvelle ligne avant $num_rows
.
L'exemple ci-dessus ajoute uniquement une ligne vide. L'exemple ci-dessous ajoute des données provenant d'un formulaire.
<?php
require_once '../inc/phpexcel/Classes/PHPExcel.php';
require_once '../inc/phpexcel/Classes/PHPExcel/IOFactory.php';
$objPHPExcel = PHPExcel_IOFactory::load("myExcelFile.xlsx");
$objWorksheet = $objPHPExcel->getActiveSheet();
//add the new row
$num_rows = $objPHPExcel->getActiveSheet()->getHighestRow();
$objWorksheet->insertNewRowBefore($num_rows + 1, 1);
$name = isset($_POST['name']) ? $_POST['name'] : '';
if($submit){
//SAVING THE NEW ROW - on the last position in the table
$objWorksheet->setCellValueByColumnAndRow(0,$num_rows+1,$name);
}
//display the table
echo '<table>'."\n";
echo '<thead>
<tr>
<th>Company Name</th>
</tr>
</thead>'."\n";
echo '<tbody>'."\n";
foreach ($objWorksheet->getRowIterator() as $row) {
echo '<tr>'."\n";
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cell) {
echo '<td>'.$cell->getValue().'</td>'."\n";
}
echo '</tr>'."\n";
}
echo '</tbody>'."\n";
echo '</table>'."\n";
?>
J'ai suivi votre code et n'ai pas obtenu le bon résultat. Pouvez-vous s'il vous plaît jeter un oeil? http://stackoverflow.com/questions/32312743/phpexcel-how-to-use-insertnewrowbefore-function-correctly –
$ objReader est défini comment? – Novak
J'ai suivi votre partie de code et je n'ai pas obtenu le bon résultat. Pouvez-vous s'il vous plaît jeter un oeil: http://stackoverflow.com/questions/32312743/phpexcel-how-to-use-insertnewrowbefore-function-correctly –