今天在使用ireport的时候,没有使用ireport生成jasper,而是直接拷贝已有的一个报表,修改名字,但是格式总是调不正确。后来发现jrxml中的name属性没有改过来...
在excel导入数据的时候,excel会默认将长数据,类似于卡号的数据 ,科学计数法显示,并且将过长数据用0替换,解决方法:
在使用jasperreport导出excel时会出现长串数字型字符串被excel自行解读为科学计数法表示的数字。在以下代码中添加红色的那一行即可解决问题,但是这样做带来的弊端即是:如果需要将单元格设计为数字型就不行了。也不能利用公式进行计算了。
JRXlsExporter exporter = new JRXlsExporter();
response.reset();
response.setCharacterEncoding("gbk");
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment; filename="+reportName+".xls");
exporter.setParameter(JRXlsExporterParameter.IS_AUTO_DETECT_CELL_TYPE, new Boolean(false));
科学计数法,可以使用大数据来解决
NumberFormat formatter = new DecimalFormat();
或者其他的一些 类什么的