ANS-0652 · DéVELOPPEMENT SUITESCRIPT
Comment générer des rapports Excel personnalisés dans NetSuite ?
Tirez parti des fonctionnalités de script de NetSuite et du format Excel basé sur XML pour créer des rapports dynamiques et personnalisés sous forme de feuilles de calcul à partir des données issues de recherches enregistrées.
Solution courte
Il est possible de générer des rapports Excel personnalisés dans NetSuite en créant un fichier Excel au format XML. Cela implique d’utiliser le module N/file pour créer un fichier encodé en base64, éventuellement en exploitant FreeMarker avec des résultats de recherche enregistrés pour les données dynamiques, puis de l’enregistrer dans le « File Cabinet ».
Scénario
Les entreprises ont souvent besoin de rapports Excel personnalisés qui vont au-delà des exportations NetSuite standard et nécessitent une mise en forme spécifique, des données dynamiques issues de recherches enregistrées ou des formules Excel intégrées. Le défi consiste à générer par programmation ces fichiers .xls complexes au sein de NetSuite et à les stocker afin de pouvoir y accéder.
Solution
Le classeur Excel (.xls) est un format permettant la création d’un fichier Excel basé sur le langage XML.
Pour créer un fichier Excel par programmation au sein de NetSuite, le module N/file est utilisé. NetSuite prend en charge la création de fichiers Excel .xls par script, ce qui permet de les enregistrer dans le « File Cabinet » sous le type de fichier « EXCEL » (application/vnd.ms-excel).
Le contenu du fichier doit être encodé en base64 et respecter le format de classeur Excel. Bien que la documentation relative au format de classeur ne soit pas très détaillée, celui-ci présente généralement une structure s’apparentant à un grand tableau, combinant du XML avec des éléments HTML/CSS.
Pour générer le fichier de feuille de calcul, il est possible d’utiliser les résultats d’une recherche enregistrée et FreeMarker afin d’ajouter des données dynamiques au rapport. Bien que le moteur de rendu de modèles natif de NetSuite soit principalement conçu pour générer des fichiers PDF et HTML, le principe de base consistant à générer du XML Excel et à utiliser FreeMarker avec les données d’une recherche enregistrée reste une option viable pour les solutions personnalisées.
De plus, le résultat étant une feuille de calcul Excel, il est possible d’y intégrer des formules Excel. Il est important de noter que les formules utilisent un positionnement relatif par rapport à la cellule active. Par exemple, si un utilisateur se trouve dans la cellule B12 et souhaite additionner les cellules A2 à A10, la formule sera la suivante :
SUM(R[-10]C[-1]:R[-2]C[-1])Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Développement SuiteScript
