I figured out that my one of my helper functions is causing the problem. It was a currency formatter that use 'Intl.NumberFormat' . After optimizing the code, the excel generation of 15000 rows now takes 7 seconds(reduced form 16 seconds) which I think is more reasonable.