POI导出Excel发现不可读取的内容

环境说明:MyEclipse Tomcat7.0

通过后台查询数据,导出Excel在打开时会出现以下提示:

image

点击否,则不显示任何内容,点击是,弹出

image

查看修改记录为:

image

通过WPS打开不会出现任何提示,可以直接打开,但是通过Office打开会出现以上提示,纠结中,开始以为是POI的问题,查找了许多资料也没有解决。

后来判断是不是代码中设置出了问题,因此进行代码一部分一部分的注释掉来尝试导出的EXCEL是否有问题。

通过尝试发现是以下语句导致的这个问题:

   1: XSSFWorkbook xwb = new XSSFWorkbook(path+"template//"+templateName+".xlsx");
   2: XSSFSheet sheet =xwb.getSheetAt(0);
   3: sheet.setDefaultColumnWidth((short)5*256);//问题代码

在设置默认列宽时候导致此问题!!!!这句代码是有问题的,正确的设置参考网络上的应该是如下方式:

   1: sheet.setDefaultRowHeight((short) (2 * 256)); //设置默认行高,表示2个字符的高度,必须先设置列宽然后设置行高,不然列宽没有效果
   2: sheet.setDefaultColumnWidth(17);    //设置默认列宽

比较低级的错误,但是发现同样错误的同学可以参考下用类似的方法来排除错误原因。

JAVA的东西刚开始学习,欢迎大家指正。

posted on 2017-11-10 17:29  jingkunliu  阅读(9303)  评论(0编辑  收藏  举报

导航