[RESOLU] insérer un tableau sous word

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] insérer un tableau sous word

Re: insérer un tableau sous word

par two3d » 27 avr. 2022, 12:11

OK, passe en résolut ;)

Re: insérer un tableau sous word

par fra340 » 27 avr. 2022, 11:38

Solution trouvée !!!
En fait j'utilisais du html pour faire du rtf. Donc ça ne pouvait pas marcher.

Pour ceux que ça intéresse :
		$tableauSuccessibles .=	'{\rtf1\ansi\deff0{\fonttbl {\f0 Calibri;}}\trowd\clbrdrt\brdrs\clbrdrl\brdrs\clbrdrb\brdrs\clbrdrr\brdrs\cellx1750\clbrdrt\brdrs\clbrdrl\brdrs\clbrdrb\brdrs\clbrdrr\brdrs\cellx3500\clbrdrt\brdrs\clbrdrl\brdrs\clbrdrb\brdrs\clbrdrr\brdrs\cellx5250\clbrdrt\brdrs\clbrdrl\brdrs\clbrdrb\brdrs\clbrdrr\brdrs\cellx7000\clbrdrt\brdrs\clbrdrl\brdrs\clbrdrb\brdrs\clbrdrr\brdrs\cellx8750\clbrdrt\brdrs\clbrdrl\brdrs\clbrdrb\brdrs\clbrdrr\brdrs\cellx10500
{\f0\fs16{\colortbl ;\red0\green0\blue255;} {\b Civilité}}\intbl\cell
{\f0\fs16 {\b Prénom}}\intbl\cell
{\f0\fs16 {\b Nom}}\intbl\cell
\qc{\f0\fs16 {\b Age}}\intbl\cell
\qc{\f0\fs16 {\b Lien de parenté}}\intbl\cell
\qc{\f0\fs16 {\b Parent de}}\intbl\cell\row}';
/* foreach ($resultatsucc as $success) { */
		while  ($success=$resultatsucc->fetch()) {
			if ($success['lien_parente_succ'] <> 'Petit enfant') {
			$enfantSucc = $success['parent_succ'];
			} else {
			$enfantSucc = $success['enfant_de_succ'];
							};
		$tableauSuccessibles .=	'{\rtf1\ansi\deff0{\fonttbl {\f0 Calibri;}}\trowd\clbrdrt\brdrs\clbrdrl\brdrs\clbrdrb\brdrs\clbrdrr\brdrs\cellx1750\clbrdrt\brdrs\clbrdrl\brdrs\clbrdrb\brdrs\clbrdrr\brdrs\cellx3500\clbrdrt\brdrs\clbrdrl\brdrs\clbrdrb\brdrs\clbrdrr\brdrs\cellx5250\clbrdrt\brdrs\clbrdrl\brdrs\clbrdrb\brdrs\clbrdrr\brdrs\cellx7000\clbrdrt\brdrs\clbrdrl\brdrs\clbrdrb\brdrs\clbrdrr\brdrs\cellx8750\clbrdrt\brdrs\clbrdrl\brdrs\clbrdrb\brdrs\clbrdrr\brdrs\cellx10500
{\f0\fs16 '.$success['genre_succ'].'}\intbl\cell
{\f0\fs16 '.$success['prenom_succ'].'}\intbl\cell
{\f0\fs16 '.$success['nom_succ'].'}\intbl\cell
\qc{\f0\fs16 '.$success['age_succ'].'}\intbl\cell
\qc{\f0\fs16 '.$success['lien_parente_succ'].'}\intbl\cell
\qc{\f0\fs16 '.$enfantSucc.'}\intbl\cell\row}';
			}
			$successibles = str_replace("[tableauSuccessibles]",	$tableauSuccessibles,					$successibles);
Bon je cherche encore pour changer la couleur du texte mais ça donne un tableau digne de ce nom.

Re: insérer un tableau sous word

par two3d » 26 avr. 2022, 12:50

Quel est le résultat ?

HTML est compatible avec .rtf/.doc ?

insérer un tableau sous word

par fra340 » 26 avr. 2022, 09:42

Bonjour,

Au clic sur un bouton, je télécharge un fichier word (.doc) rempli avec des variables issues de ma bdd. Jusque là, tout va bien.

Mais lorsque je veux insérer un tableau dans mon document word, c'est là où tout se gâte.

Pour être plus précis, j'ai un fichier .rtf principal (présent sur le serveur) qui est complété par des fichiers .rtf secondaires (eux aussi présents sur le serveur). les variables de ces fichiers secondaires sont remplis avec les données de la bdd via php.

Voici mon code pour remplir le fichier secondaires "successibles.rtf":
$resultatsucc = $bdd->prepare('SELECT * FROM successible WHERE pjt_id = :numpjt ');
		$resultatsucc->bindValue(':numpjt',$numpjt, PDO::PARAM_INT);
		$executeIsOk2 = $resultatsucc->execute();
		
		$filesucc = $succ;
		$fs = fopen($filesucc,'r');
		$successibles = fread($fs, filesize($filesucc));
		fclose($fs);
		
		$tableauSuccessibles .=		"<table>
										<tr>
											<td>Civilité</td>
											<td>Prénom</td>
											<td>Nom</td>
											<td>Age</td>
											<td>Lien de parenté</td>
											<td>Parent de</td>
										</tr>";
		while  ($success=$resultatsucc->fetch()) {
			if ($success['lien_parente_succ'] <> 'Petit enfant') {
				$enfantSucc = $success['parent_succ'];
				} else {
				$enfantSucc = $success['enfant_de_succ'];
			};
			$tableauSuccessibles .= 
				'<tr>';
					$tableauSuccessibles .= '<td>'.$success['genre_succ'].'</td>';
					$tableauSuccessibles .= '<td>'.$success['prenom_succ'].'"</td>';
					$tableauSuccessibles .= '<td>'.$success['nom_succ'].'</td>';
					$tableauSuccessibles .= '<td>'.$success['age_succ'].'</td>';
					$tableauSuccessibles .= '<td>'.$success['lien_parente_succ'].'</td>';
					$tableauSuccessibles .= '<td>'.$enfantSucc.'</td>';
				$tableauSuccessibles .= '</tr>';
		}
		$tableauSuccessibles .= "</table>";
		$successibles = str_replace("[tableauSuccessibles]",	$tableauSuccessibles,					$successibles);
Ensuite j'insère mon tableau dans mon fichier principal "ric.rtf" :
$filename = $ric;
		$fp = fopen($filename,'r');
		$content = fread($fp, filesize($filename));
		fclose($fp);
$content = str_replace("[successibles]",				$successibles,							$content);
Lorsque je télécharge ce fichier en .doc, j'obtiens bien les 2 lignes correspondant mais les balises du tableau sont affichées et la mise en forme, c'est du n'importe.

Quelqu'un peut il m'aider SVP

Par avance merci.

François