Code : Tout sélectionner
<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\IOFactory;
// Chemin vers le fichier Excel
$filePath = 'Etape_1_Responses.xlsx';
// Charge le fichier Excel
$spreadsheet = IOFactory::load($filePath);
// Sélectionne la première feuille de calcul
$worksheet = $spreadsheet->getActiveSheet();
// Boucle sur les lignes à partir de la deuxième ligne
foreach ($worksheet->getRowIterator(2) as $row) {
$dataRow = [];
foreach ($row->getCellIterator() as $cell) {
$dataRow[] = $cell->getValue();
}
// Obtient le nom et le prénom du candidat
$nom = $dataRow[8]; // Colonne I
$prenom = $dataRow[9]; // Colonne J
// Génère le contenu du fichier PHP
$content = '<?php' . PHP_EOL;
foreach ($dataRow as $value) {
$content .= $value . PHP_EOL;
}
// Nom du fichier PHP
$filename = 'Candidats/' . $nom . ' ' . $prenom . '.php';
// Enregistre le contenu dans le fichier PHP
file_put_contents($filename, $content);
echo "Le fichier '$filename' a été créé avec succès." . PHP_EOL;
}
?>La première ligne comporte les entêtes d'une enquête que j'effectue. Je ne peux que l'extraire en xlsx.
Je souhaite récupérer ces données en créant un fichier d'identité.
Dans ce fichier, les 8 premières colonnes du tableur sont totalement ignoré volontairement ( car inutile pour mon étude )
Je souhaite que le fichier comporte le nom trouver dans le tableur sous forme : Nom Prénom.php
Mon soucis :
Le script fonctionne très bien... à partir du deuxième candidats. Impossible d'avoir le premier candidat qui se trouve dans la ligne 2 de mon tableur et je ne comprends pas pourquoi.
Voici mon résultat sur la page du script :
Seulement, pas de fichier Bruno Karo( ! ) Warning: file_put_contents(Candidats/Bruno Karo*.php): Failed to open stream: No such file or directory in C:\wamp64\www\Projet\Script 1.php on line 36
Call Stack
# Time Memory Function Location
1 0.0005 361024 {main}( ) ...\Script 1.php:0
2 0.0223 1172136 file_put_contents( $filename = 'Candidats/Bruno Karo*.php', $data = '<?php\r\n2023-05-13 13:12:00 -0400\r\n2023-05-13 13:11:58 -0400\r\n53\r\n\r\n8 de 18\r\n44.44\r\n0\r\n0\r\nBruno\r\nKaro*\r\n7\r\nSeul\r\nAutre\r\nDans la rue\r\nDans La Gare\r\nUniquement ce que j\'ai sur moi\r\nOui\r\nEntre 10 et 15 \r\nNon\r\nBleu\r\n' ) ...\Script 1.php:36
Le fichier 'Candidats/Bruno Karo*.php' a été créé avec succès.
Le fichier 'Candidats/Jean huit.php' a été créé avec succès.
Le fichier 'Candidats/Max trens.php' a été créé avec succès.
Fichier Jean Huit parfait
Fichier Max Trens parfait