Remplir des fichiers Excel avec du code Invantive PSQL est possible depuis un certain temps via le excel-package. Ceci s’ajoute à la lecture des fichiers Excel via exceltable et aux options d’exportation avec local export results.
Les feuilles Excel dans un classeur Excel remplies avec des requêtes étaient déjà formatées automatiquement quant à la largeur des colonnes afin que la largeur corresponde au contenu. Pour les feuilles remplies totalement manuellement, cela n’était pas encore possible.
La nouvelle fonction autofit_worksheet dans le package excel permet d’augmenter et/ou de réduire rapidement et facilement toutes les colonnes de la feuille de calcul spécifiée afin que la largeur soit adaptée au contenu.
Un exemple de croissance et/ou de réduction automatique de la largeur de la colonne Excel avec du code est :
declare
l_workbook excel_workbook;
l_worksheet excel_worksheet;
l_binary blob;
begin
l_workbook := excel.new();
--
l_worksheet := excel.add_worksheet(l_workbook, 'Data');
--
-- Remplir la feuille Excel.
--
excel.set_cell_contents(l_worksheet, 'A1', 'court');
excel.set_cell_contents(l_worksheet, 'B1', 'un texte très très long');
--
-- Ajuster la largeur des colonnes.
--
excel.autofit_worksheet(l_worksheet);
--
-- Sauvegarder le fichier Excel.
--
l_binary := excel.export_to_xlsx(l_workbook);
excel.close(l_workbook);
insert into write_file@os
( file_path
, file_contents
)
values
( 'c:\temp\fichierexcel.xlsx'
, l_binary
);
end;
Le résultat final est :

La fonction autofit_worksheet est disponible à partir de la version 22.0.196 pour les produits sur site et au sein d’Invantive Cloud.