Det har länge varit möjligt att fylla Excel-filer med Invantive PSQL-kod via excel-paketet. Detta är ett komplement till att läsa av Excel-filer via exceltable och exportmöjligheterna med local export results.
Excel-blad i en Excel-arbetsbok fyllda med frågor formaterades redan automatiskt avseende kolumnbredden så att bredden matchade innehållet. För helt manuellt ifyllda arbetsblad var detta ännu inte möjligt.
Den nya funktionen autofit_worksheet i excel-paketet låter dig snabbt och enkelt göra alla kolumner i det angivna arbetsbladet större och/eller mindre så att bredden passar innehållet.
Ett exempel på att automatiskt låta Excel-kolumnens bredd växa och/eller krympa med kod är:
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');
--
-- Fyll Excel-arbetsblad.
--
excel.set_cell_contents(l_worksheet, 'A1', 'kort');
excel.set_cell_contents(l_worksheet, 'B1', 'en mycket lång text');
--
-- Justera kolumnbredd.
--
excel.autofit_worksheet(l_worksheet);
--
-- Spara Excel-fil.
--
l_binary := excel.export_to_xlsx(l_workbook);
excel.close(l_workbook);
insert into write_file@os
( file_path
, file_contents
)
values
( 'c:\temp\excelfile.xlsx'
, l_binary
);
end;
Slutresultatet är:

Funktionen autofit_worksheet finns tillgänglig från och med version 22.0.196 för produkter på plats och inom Invantive Cloud.