removing group while doing CSV export in JasperReports 4.0.5 - jasper-reports

I am using the JasperReports 4.0.5. Trying to suppress group footer and headers while exporting to CSV.
I've tried the using of
net.sf.jasperreports.export.{format}.exclude.origin.{suffix}.{arbitrary_name} property.
It didn't work.
Any suggestions?
TU

For hiding only the groupHeader band you should add this two properties (both lines) to the jrxml file, for example:
<property name="net.sf.jasperreports.export.csv.exclude.origin.band.1" value="groupHeader"/>
<property name="net.sf.jasperreports.export.csv.exclude.origin.group.1" value="GroupExpenses"/>
For hiding both groupHeader and groupFooter bands you should add all this properties to jrxml file:
<property name="net.sf.jasperreports.export.csv.exclude.origin.band.1" value="groupHeader"/>
<property name="net.sf.jasperreports.export.csv.exclude.origin.group.1" value="GroupExpenses"/>
<property name="net.sf.jasperreports.export.csv.exclude.origin.band.2" value="groupFooter"/>
<property name="net.sf.jasperreports.export.csv.exclude.origin.group.2" value="GroupExpenses"/>
In both samples the group name is GroupExpenses.
<group name="GroupExpenses">
For more details look at How can I suppress page headers and footers when exporting to XLS? topic.

Related

Stretch overflow not working in excel jasper report

I am trying to export report to Excel (XLSX format) using jasper report, but get problems with stretching when text field is overflow.
I get just empty cells when value of textfield is bigger than textfield size.
I tried to use these parameters, but it isn't helping me:
<property name="net.sf.jasperreports.export.xls.collapse.row.span" value="true"/>
<property name="net.sf.jasperreports.print.keep.full.text" value="true"/>
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
<property name="net.sf.jasperreports.export.xls.wrap.text" value="true"/>
<property name="net.sf.jasperreports.export.xls.auto.fit.row" value="true"/>
<property name="net.sf.jasperreports.export.xls.auto.fit.column" value="true"/>
Here is refer to screenshot:
http://clip2net.com/s/39cbljj
In HTML it looks ok:
http://c2n.me/39cyhRf
Does anybody know how to fix this?
Thanks.
you should do the following to get it working:
Set isStretchWithOverflow="true" for all TextField elements on Detail
band (it will fix cutting of long text
values)
Set stretchType="RelativeToBandHeight" for all TextField elements on Detail band (It will fix the issue with empty cells - all TextFields will be rendered with the same height)
set the property <property name="net.sf.jasperreports.export.xls.auto.fit.row" value="true"/>
on each TextField which may have long value. The point is that property net.sf.jasperreports.export.xls.auto.fit.row works on Element level only.Also please note that this property won't work for merged cells.
It works perfect in HTML, but during export in EXCEL format I get problem.
I looked stretch sample from jasper reports demo/samples folder and found out solution. I set horizontal alighment textfield parameter to "justify" and it will work in Excel and look perfect. Seems that without this parameter stretch does not work during export to Excel.
Thanks for the help, user1390785 !
I just got same issue and i solved it.
its simple. just open your report properties and set page height to 999999. convert again and see its just solved

Unwanted Helvetica font is using in pdf by Jasper

I have a problem that Helvetica, which I am not using in any of my JRXML fields, is being used as the default font in Jasper PDF reports.
I am using iReports 4.0.2.
The first variant is to set the default font via setting net.sf.jasperreports.default.font.name and/or net.sf.jasperreports.default.pdf.font.name properties.
For example, it were my defaults settings in iReport (dialog Options -> JasperReports Properties):
With this settings (without setting default style in the template) I have the Helvetica font in my pdf generated by iReport.
After that I've changed settings in iReport like this:
And now I have Courier font in my pdf file (generated by iReport):
With JasperReports API you can set this properties with help of JRProperties.setProperty(java.lang.String key, boolean value) method.
The sample:
JRProperties.setProperty("net.sf.jasperreports.default.pdf.font.name", defaultPDFFont);
JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params);
JasperExportManager.exportReportToPdfFile(jasperPrint, outputFileName);
Another variant is to add default style in report's template.
The example:
<jasperReport .. topMargin="20" bottomMargin="20">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<style name="Base" isDefault="true" hAlign="Center" vAlign="Middle" fontSize="10" pdfFontName="Courier" pdfEncoding="UTF8" isPdfEmbedded="false"/>
<queryString>
More information about working with fonts you can read here.
I use NetBeans and on one of my projects i wanted to use Garamond as my default font for my pdfs so what i did was:
Tools -> options
Under IReport, click the Fonts Tab
Install a Font
Click on the "Export as Extension Button" which exports it as a jar file.
Add to class path.
Run report, save it, then view it.

Jasper Reports - Removing pageHeader/columnHeader from subreport

I have a master report with 2 subreports. I use the same report to generate PDF and xls. Pagination is enabled but for excel, i need to disable pagination, which i do by rendering all in one sheet. The page header/column header get repeat for each page. These page header/column header are from the sub reports. This is fine for PDF but in case of excel, i want to get rid of the repeating header.
I set these properties:
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.3" value="pageHeader" />
<property name="net.sf.jasperreports.export.xls.exclude.origin.keep.first.band.3" value="pageHeader" />
<property name="net.sf.jasperreports.export.pdf.exclude.origin.keep.first.band.1" value="pageHeader" />
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1" value="columnHeader" />
<property name="net.sf.jasperreports.export.xls.exclude.origin.keep.first.band.1" value="columnHeader" />
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2" value="pageFooter" />
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows" value="true" />
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns" value="true" />
But these arent reflected in the data rendered by the subreport. In xls, i still see the pageHeader/columnHeader gets repeated. Please let me know, how to fix this.
For XLS (and HTML) reports, you may want to set the parameter IS_IGNORE_PAGINATION to true. See http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/JRParameter.html for documentation.
I know this is an old question, but I keep forgetting how to do this myself and each time I search I seem to find this question so thought I'd put something so I find it next time.
In the main report file you also need to add the sub report to the filter:
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1" value="columnHeader" />
<property name="net.sf.jasperreports.export.xls.exclude.origin.keep.first.band.1" value="columnHeader" />
<property name="net.sf.jasperreports.export.xls.exclude.origin.report.1" value="sub-report-name" />
<property name="net.sf.jasperreports.export.xls.exclude.origin.keep.first.report.1" value="sub-report-name" />

Send data as XML, not PDF, to a JSP from form build in Form Builder

I have used a workflow-send button to submit form data in XML format to a JSP file. However, it saves data as a PDF as opposed to XML string.
I know it is PDF because I get <?xml version="1.0" encoding="UTF-8"?><url>/xforms-server/dynamic/e9002cb0ce38d116e3037bb622050a36</url> on sysout in the JSP.
My properties-local.xml contains the following entries:
<property as="xs:string" name="oxf.xforms.format.input.date" value="[D]/[M]/[Y]"/>
<property as="xs:boolean" name="oxf.fr.email.attach-pdf" value="false"/>
<property as="xs:boolean" name="oxf.fr.alfresco.send-pdf" value="false"/>
<property as="xs:boolean" name="oxf.fr.detail.send.pdf" value="false"/>
<property as="xs:boolean" name="oxf.fr.detail.send.alfresco" value="false"/>
<property as="xs:boolean" name="oxf.fr.detail.send.email" value="false"/>
<property as="xs:string" name="oxf.fr.detail.buttons.*.*" value="workflow-send"/>
<property as="xs:string" name="oxf.fr.detail.send.success.method.*.*" value="post"/>
<property as="xs:anyURI" name="oxf.fr.detail.send.uri.*.*" value="http://localhost:8080/orbeon/xforms-jsp/idm/idm-customer.jsp"/>
<property as="xs:NMTOKENS" name="oxf.xforms.logging.debug" value="document model submission control event action analysis server html submission-details"/>
How can I get the data in XML format instead of a PDF?
According to the documentation on the workflow-send, the PDF is generated if either one of the following properties is true: oxf.fr.detail.send.pdf, oxf.fr.email.attach-pdf, or oxf.fr.alfresco.send-pdf. You don't seem to have any of those properties set to true, so the XML (not the PDF) of the form should be sent to the service you specified. I suspect that you might be using a version of Orbeon Forms that pre-dates the introduction of some of those properties. If you are not on version 3.9, I would suggest you upgrade to 3.9 (or newer). If you are on 3.9 or newer, then please post a comment and we'll try to help.

Jasper report using same template to render in CSV and PDF formats

We are using one template to render the report in CSV and PDF format. But the problem is we need to have report split into pages in PDF but not in CSV. Is it possible to alter the rendering options based on the format in one template. So that we have CSV without pagination information and PDF divided into page. In such a case 2 separate templates one for CSV and one for PDF should be used? or this can be achieved using one template?
Finally found the answer. In the template following properties need to be set
<property name="net.sf.jasperreports.export.csv.exclude.origin.keep.first.band.columnHeader" value="columnHeader" />
<property name="net.sf.jasperreports.export.csv.exclude.origin.band.columnFooter" value="columnFooter" />
<property name="net.sf.jasperreports.export.csv.exclude.origin.band.pageFooter" value="pageFooter" />
<property name="net.sf.jasperreports.export.csv.exclude.origin.band.lastPageFooter" value="lastPageFooter" />
<property name="net.sf.jasperreports.export.csv.exclude.origin.band.summary" value="summary" />
Using JRCsvMetadataExporter solved similar problem. This class extracts the data from the template ignoring the rendering part. Check out the sample here