Hi Subham, Are you sure this is related to JETT? JETT only works with HSSF (xls) and XSSF (xslx) workbooks as far as I can tell, it doesn't support streamed generation of XSLX workbooks as it needs the whole document in memory for manipulation when filling the template. This looks like a pure SXSSF question, so you may not be on the right forum, you should ask on POI forums - or on StackOverflow. If this is JETT related, please share you code so that we can give it a try and better understand what's...
Hi, JETT will read all the data to fill it in the template, so you will need to "wrap" your paginated data in a Collection first before passing it to JETT to generate the Excel file. This could be as simple as retrieving all your data (page after page) and put it in a single List, but you might also wrap it in a custom class that will iterate over the pages without having to load everything in memory at once. That being said, since JETT is based on "Standard" POI API, it means that even if your data...
Hi Anjana, I really hope that we could get Randy Gettman's answer on this but unfortunately he's been really quiet since the last JETT version was released 3 years ago (0.11). You can still find JETT'ers to answer your questions though, either on this forum or on Stackoverflow. There's no sign that this project will get a new release any time soon, but that shouldn't be completely blocking you from considering it for your project. The source code is well written and there's good unit testing if you're...
I'm not too familiar with how JETT can keep track of $[] formulas and update the references within as template get filled, so I don't know whether there's a better way to generate the list of cells that you use in the D10 formula. However, you can skip the step where you edit with POI at the end by adding similar code at the bottom of your sheet #2 enclosed in a ${{ ...your code here... ; return ''; }} block. Just make sure to use JEXL syntax, which may be a bit different from the Java one. Keep...
Hi Giu, I can't find any attachment in your posts - did you already address all your requirements or do you need further help?
Maybe the expression on which you call .size() evaluates to null. Can you share the expressions you're using in your jexl tags?
I tried to find a way in Jett code to disable debug of JEXL, but looks like JEXL 2.x will always call debugInfo() when parsing an expression even when debug is set to false on JexlEngine object (like JETT is correctly doing): https://github.com/apache/commons-jexl/blob/2.0/src/main/java/org/apache/commons/jexl2/JexlEngine.java I assume only upgrading to JEXL 3.0 could fix that, let's wait and see if Jett author has any plan to do so.
This code works for me: <jt:forEach items="${items}" var="item" indexVar="index"> <jt:style style="font-color: ${index % 2 == 0 ? 'red' : 'blue'}"> ${item} / ${index} </jt:style> </jt:forEach> You should ensure that your JEXL code should return a string; in your second piece of code, "medium" and "thin" don't have any quotes, so unless you've defined some variables with these names they will be undefined. So it should be <jt:style style="border-left:${(index == 0) ? 'medium' : 'thin'}">${item}</jt:style>...