Je joue avec une intégration PHP - MS Excel ces jours-ci. Ma tâche consiste à ouvrir une feuille de calcul existante, à ajouter des données et à enregistrer la feuille de calcul en tant que nouveau fichier. Fondamentalement sorte d'un moteur de remplissage de modèle, même si les fichiers xlsx sont utilisés comme modèles. J'ai regardé dans PHPExcel qui semble être cadre assez agréable. Afin de mettre en œuvre une preuve de concept que je ne les éléments suivants (réduit au minimum requis pour illustrer ce que je dois faire):PHPExcel - Le formatage est perdu lors de l'édition à partir du code
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load("myTemplateToFill.xlsx");
//Here comes the actual filling
$objWorksheet = $objPHPExcel->createSheet();
$objWorksheet->setTitle('Apple') ;
$objWorksheet->setCellValue('A1', 'Banana');
$objPHPExcel->setActiveSheetIndex(0);
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save('myFilledTemplate.xlsx');
L'exécution de ce que j'ai trouvé qu'un nouveau fichier est créé, mon Daat est inséré mais malheureusement avec tout le formatage existant est perdu. Donc, la question est, est-il possible de faire en sorte que PHPExcel conserve ces formats dans le nouveau fichier ? Ou pour aller encore plus loin: est-il possible de conserver des graphiques, etc. dans un fichier modèle et de les remplir comme j'ai essayé?
Merci d'avance pour toute votre expérience partagée!
K
Bonjour, et merci pour la réponse! Fondamentalement, le problème est que la mise en forme des pages existantes est perdue. Mon insertion de données fonctionne correctement. – KB22
Oui, parce que vous créez une nouvelle feuille de calcul, je pense que vous devez utiliser la feuille de calcul existante où vous souhaitez ajouter vos valeurs? – opHASnoNAME