天天看点

jasperreport导出excel后全部为 text单元格 数字也无法求和

用户在报表模板中可以直接配置 net.sf.jasperreports.export.xls.detect.cell.type属性(即导出 excel 时是否检测单元格格式),但是位置比较隐蔽,下图便是配的的位置:( xls 格式和 xlsx格式均配置该属性)

jasperreport导出excel后全部为 text单元格 数字也无法求和
jasperreport导出excel后全部为 text单元格 数字也无法求和

 如果不想一个个报表进行配置,而想所有的报表全部配置此配置,则可以在java代码中设置config写死:

exporter = new JRXlsxExporter();
SimpleXlsxReportConfiguration conf = new SimpleXlsxReportConfiguration();
//.Xlsx属性配置
setExcelReportConfiguration(exporter, conf);

    /**
     * 设置单元格导出类型
     * @param exporter
     * @param conf
     */
private void setExcelReportConfiguration(JRAbstractExporter exporter, SimpleXlsReportConfiguration conf) {
    //设置检测单元格类型(否则数字类型字段导出为excel后变为文本类型)
    conf.setDetectCellType(true);
    exporter.setConfiguration(conf);
}