默认情况下,使用jasper报告在csv中将大数转换为科学格式

时间:2017-06-12 16:33:28

标签: java jasper-reports

我正在使用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以解决问题但我仍然看到科学记数而不是完整数字。我该如何解决这个问题?

以下是我在生成报告时看到的内容:

enter image description here

0 个答案:

没有答案