J'essaye de créer un constructeur de description avec des données d'Excel. Je veux utiliser une valeur prédéfinie dans le modèle HTML et je veux mettre la valeur d'Excel à l'endroit où les valeurs prédéfinies apparaissent, par exemple.Lire le fichier Excel et mettre en HTML Modèle
<table>
<tr>
<td>ISBN</td>
<td>{ISBN}</td>
</tr>
<tr>
<td>Publisher</td>
<td>{Publisher}</td>
</tr>
<tr>
<td>Year</td>
<td>{Year}</td>
</tr>
<tr>
<td>About Book</td>
<td>{AboutBook}</td>
</tr>
</table>
Le modèle HTML peut être transmis à partir d'un fichier HTML physique ou d'une zone de texte. Je souhaite que le texte soit remplacé dans les accolades par les données Excel. Les en-têtes du fichier Excel sont les mêmes que les valeurs du modèle HTML mais le fichier Excel peut être modifié à chaque fois et ses en-têtes peuvent contenir plus de titres dans un fichier Excel dont seulement quelques-uns sont inclus dans le modèle HTML. J'utilise excelreader pour obtenir les données de fichier excel
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
$xlshead[$j] = trim($data->sheets[0]['cells'][1][$j]);
}
foreach($xlshead as $hkey=>$hval) {
$row[$hkey] = trim($hval);
}
Maintenant, j'ai le numéro de colonne dans les clés de ligne array $ et les rubriques du tableau $ row valeurs
J'utilise
for ($j = 1; $j <= $data->sheets[0]['numRows']-1; $j++) {
str_replace(array_valyes($row),$data->sheets[0]['cells'][$j+1][array_$keys($row)],$_POST['strhtmltemplate'])
}
Non je ne sais pas comment obtenir la clé exacte dans la fonction de remplacement. aidez-moi s'il vous plaît.
Avez vous avez envisagé de l'exporter au format CSV et d'utiliser 'fgetcsv 'pour l'analyser? Ce serait plus simple – Martin
merci Martin mais j'ai fait ça. J'ai remplacé les variables du fichier modèle par la chaîne de lecture Excel, par exemple. 'foreach ($ xlshead sous la forme $ hkey => $ hval) { \t \t $ row [' Php echo $ data-> feuilles [0] [\' cells \ '] [$ j + 1] ['. $ hkey. ']; ?> '] = "{" .trim ($ hval). "}"; \t} ' et a écrit dans un fichier séparé que l'impression avec ob_start et récupéré le contenu dans un nouveau fichier et exporté dans Excel. La prochaine fois j'essaierai le fgetcsv comme dans ce projet il y a beaucoup de choses qui ne conviennent pas au format de csv car il contient des formules et d'autres choses aussi bien. donc nous devons exporter le fichier dans csv chaque fois .. merci –