Dans cet exemple, un classeur libreoffice calc contient des données. Ces données sont affichées avec le bouton ci-dessous
Affichage des données
Affichage des données avec la grille
Script PHP utilisé sur cette page
<?php
require ‘vendor/autoload.php’;
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Ods();
if ($_SERVER[‘REQUEST_METHOD’] === ‘POST’) {
$filename = ‘classeur_gpaie_c01_v01.ods’;
$spreadsheet = $reader->load($filename);
$sheet = $spreadsheet->getSheet(0);
$cellB15 = $sheet->getCell(‘B15’);
$cellB19 = $sheet->getCell(‘B19’);
$htmlTable = « »;
// 1ere ligne 1ere colonne
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
// Element table
$htmlTable = « <table> »;
$htmlTable .= « <tr> »;
// Boucle sur les titres des colonnes
for ($col = ‘A’; $col <= $highestColumn; $col++) {
if ($col == ‘A’){
$htmlTable .= « <th> » . $sheet->getCell($col . ‘2’)->getValue() . « </th> »;
} else {
$number = $sheet->getCell($col . ‘2’)->getCalculatedValue();
$nombre_format_francais = number_format($number, 2, ‘,’, ‘ ‘);
$htmlTable .= « <th> » . $nombre_format_francais . « </th> »;
} // if $col == ‘A’ else
} // for = $col = ‘A’
$htmlTable .= « </tr> »;
// Boucle sur les données
for ($row = 2; $row <= $highestRow; $row++) {
$htmlTable .= « <tr> »;
for ($col = ‘A’; $col <= $highestColumn; $col++) {
if ($col == ‘A’){
$value = $sheet->getCell($col . $row+1)->getValue();
$htmlTable .= « <td> » . $value . « </td> »;
} else {
$value = $sheet->getCell($col . $row+1)->getCalculatedValue();
$nombre_format_francais = number_format($value, 2, ‘,’, ‘ ‘);
if ($nombre_format_francais <> « 0,00 ») {
$htmlTable .= « <td> » . $nombre_format_francais . « </td> »;
} else{
$htmlTable .= « <td> » . « » . « </td> »;
} // if $nombre_format_francais else …
} // if $col == ‘A’ else …
} // for $col = ‘A’ …
$htmlTable .= « </tr> »;
} // for $row = 2
$htmlTable .= « </table> »;
echo $htmlTable;
echo « <p>B15 » . $cellB15 . « </p> »;
echo « <p>B19 » . $cellB19 . « </p> »;
} // $_SERVER[‘REQUEST_METHOD’]
?>
Ce script php est à la base du script php pour cet exemple. Il peut rester quelques ajustements à y effectuer du fait de l’affichage avec les commentaires. Ces ajustements seront corrigés pour rendre autant que possible ce script fonctionnel.
Pour ce script, l’intelligence artificielle (google gemini) a été utilisée avec des ajustements et des modifications ultérieures. Par exemple pour un format cohérent des nombres avec 2 décimales, quelques opérations à l’intérieur des boucles ont été nécessaires.
Une autre partie qui n’est pas visible dans l’exemple affiché ci-dessus est la gestion de la session avec php.