Example for conditional formatting:
For XLSX exports, use net.sf.jasperreports.export.xls.detect.cell.type=true to avoid numeric values being exported as strings. | Mistake | Consequence | Fix | |-------------|----------------|---------| | Running queries inside a subreport | N+1 queries, exponential slowdown | Use a single query + master-detail via data grouping | | Using java.util.Map for parameters across thousands of rows | Memory blow | Use JRMapCollectionDataSource with paging | | Not setting isLazy="true" on images | Every row loads an image from URL | Lazy load or inline as bytes | | PDF generation with huge tables | 2-minute+ reports | Use net.sf.jasperreports.export.pdf.force.line.policy=false and pagination | 8. Integration with Java Backends Standard approach: tibco jaspersoft studio