Question
· Déc 22, 2023

Comment générer des fichiers Excel et Pdf ?

Je souhaite créer des fichiers excel (xls) et des fichiers pdf pour la création de rapports.

Ces rapports étant complexes je souhaite programmer en objectscript leur création et non utiliser un système de report.

Je cherche les classes qui pourraient m'aider à réaliser cette tâche sachant que pour moi ces classes doivent exister puisqu'Iris propose la génération de fichiers xls.

J'avais demandé à chatGpt qui m'a "inventé" une classe inexistante : %Library.Excel.Workbook qui correspondait tout a fait à ce que je cherche.

Mes questions sont donc :

Existe-t-il une ou des classes permettant la génération de fichiers xls et pdf ?

Quelle approche serait la meilleure selon vous si ce n'est pas le cas ? librairie externe ?, script externe ?

Version du produit: IRIS 2023.1
Discussion (6)2
Connectez-vous ou inscrivez-vous pour continuer

Bonjour Guillaume,

Merci pour cette réponse rapide, j'utilise actuellement Iris en objectscript uniquement, donc je ne suis pas trop à l'aise avec l'intégration de python.

Je dois avoir prochainement une présentation/formation à l'intégration de python (langage que je pratique un peu par ailleurs) par @Sylvain Guilbaud 

Afin de rendre cette session plus productive j'aimerai bien me dégrossir un peu sur le sujet, quelles ressources pourrais-tu me conseiller ?

Les bons sites pour commencer à apprendre le python sont :

Ensuite, je m'inspirerai des examples cités dans la réponse précédente.

Un article dédié sur Python et IRIS doit sortir pour l'année prochain, il présentera les similitudes (qui sont nombreuses) et aussi les différences entre l'ObjectScript et le Python.

Patience :)

Merci pour ces liens, mais en fait je me dbrouille avec python, c'était bien sur l'intégration de Python dans Iris que je m'interrogeais (j'ai cru comprendre que l'on peut utiliser python en embarqué ou indépendamment d'Iris.

J'attendrai l'article dont tu me parles ;-) et verrai cela avec @Sylvain Guilbaud bientôt

Bonnes fêtes et merci pour tes réponses

Bonjour @Pierre LaFay 
en m'inspirant des liens proposés par @Guillaume Rongier tu trouveras ci-dessous et en ligne un exemple de génération de feuille Excel à partir de openpyxl 

 
Code

Une fois obtenu le fichier Excel, il est possible de le convertir en CSV puis en PDF en utilisant les librairies pandas et csv2pdf

ClassMethod toPDF(file As %String) As %Status [ Language = python ]
{
  import pandas as pd
  from csv2pdf import convert
  PATH = '/home/irisowner/dev/data/'
  PATH_TO_XLSX = PATH+file+'.xlsx'
  PATH_TO_CSV = PATH+file+'.csv'
  PATH_TO_PDF = PATH+file+'.pdf'
  
  read_file = pd.read_excel (PATH_TO_XLSX)
  read_file.to_csv (PATH_TO_CSV, index = None, header=True)
  convert(PATH_TO_CSV , PATH_TO_PDF)
}