我是JasperReports的新手,我正在努力解决这个问题。我已经搜索了这个问题的答案,但没有找到任何运气(大多数看似相关的评论与XLS导出和缺失数据有关)。 对于此示例,我删除了除细节之外的所有部分(当包含页面/列标题等时,我仍然遇到相同的问题)。页面正确的行数(此设置中为66行/页),但每次分页后有2个额外的换行符。它们不是“空行”,因为它们被填充到页面宽度(133列~1030像素,10宽度),这些只是额外的x'0D0A',我无法摆脱它们。
这是JRXML:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="TextReport" whenNoDataType="AllSectionsNoDetail" pageWidth="1330" pageHeight="792" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0">
<property name="ireport.scriptlethandling" value="0"/>
<property name="net.sf.jasperreports.export.text.character.width" value="10"/>
<property name="net.sf.jasperreports.export.text.character.height" value="12"/>
<style name="FixSizeFontStyle" isDefault="true" fontName="DejaVu Sans Mono" fontSize="10"/>
<parameter name="QueryString" class="java.lang.String"/>
<queryString>
<![CDATA[$P!{QueryString}]]>
</queryString>
<field name="PRSN_ID" class="java.math.BigDecimal"/>
<detail>
<band height="12">
<textField>
<reportElement x="25" y="0" width="100" height="12"/>
<textFieldExpression><![CDATA[$F{PRSN_ID}]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
以下是我如何运行它(实际查询混淆):
Map<String, Object> jaspParms = new HashMap<String, Object>();
jaspParms.put("QueryString", "SELECT * FROM table where col > value");
JasperReport jaspReport = JasperCompileManager.compileReport(pathJRXML);
JasperPrint jaspPrint = JasperFillManager.fillReport(jaspReport, jaspParms, conDB);
JRTextExporter jaspTextExport = new JRTextExporter();
jaspTextExport.setExporterInput(new SimpleExporterInput(jaspPrint));
jaspTextExport.setExporterOutput(new SimpleWriterExporterOutput(pathText));
jaspTextExport.exportReport();
这是页面的结尾,请注意填充的空格 - 这是第66行并且是预期的:
请让我知道我做错了什么。
答案 0 :(得分:0)
将此属性写入您的源文件(jrxml文件)
<property name="net.sf.jasperreports.export.text.page.separator" value=""/>