我正在使用jasper报告,在其中一个报告中,当我以csv格式生成报告时,默认情况下列会转换为科学格式。
以下是我的jrxml:
列的摘录 <textField pattern="" isBlankWhenNull="true">
<reportElement x="0" y="0" width="123" height="10" uuid="2eea8416-88ce-459a-a728-8c448690ba62"/>
<textElement textAlignment="Left">
<font fontName="SansSerif" size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{cardNum}]]></textFieldExpression>
</textField>
以下是我的java类文件中的代码片段,我根据我在网络上找到的解决方案进行了更改:
@Override
protected void prepareReportParameters(List recordList, String language) {
//------get parameters form user input-------------------
try {
Locale locale = new Locale(language);
ResourceBundle rb = ResourceBundle.getBundle("jasperproperties/dealertransactionreport/DealerTransactionReport", locale);
reportParameters.put("REPORT_RESOURCE_BUNDLE", rb);
reportParameters.put("jasperPath", path);
reportParameters.put("recordCount", recordList.size());
reportParameters.put("startDate", formatDate.parse(getParam("jrs.param$p_startDate")));
reportParameters.put("endDate", formatDate.parse(getParam("jrs.param$p_endDate")));
reportParameters.put("displaytcktNum", false);
reportParameters.put("printDate", new Date());
reportParameters.put(JRParameter.IS_IGNORE_PAGINATION, Boolean.TRUE);
reportParameters.put( JRXlsExporterParameter.IS_DETECT_CELL_TYPE,Boolean.FALSE);
reportParameters.put( JExcelApiExporterParameter.IS_DETECT_CELL_TYPE,Boolean.FALSE );
doExportBandsValue();
} catch (Exception e) {
log.error("ERROR:" + e, e);
}
}
如上所述,我添加了"JRXlsExporterParameter"
&amp; "JExcelApiExporterParameter"
属性并将其设置为false以解决问题但我仍然看到科学记数而不是完整数字。我该如何解决这个问题?
以下是我在生成报告时看到的内容: