先上我的xls结构图。每个sheet中的数据是结构是相同,是循环生成。
测试过程:
1.每个sheet单独生成xls文件,在office中是可以打开,两个合在同一个xls中就office无法打开,猜测可能是多个sheet时,Style的某些属性设置office不支持。
2.两个sheet在同一个xls输出, 只输出第一行标题内容:测试office可以打开
3.两个sheet在同一个xls输出, 输出第一行加第二行:测试office不可以打开。
检查第二行生成的代码如下图
row.setHeightInPoints(30); 是设置行高:发现设置每个单元格时,重复设置行高。删掉设置的代码,只保留一个:输出xls office正常打开
总结:一个sheet情况下 重复设置row.setHeightInPoints(int) office正常打开,多个sheet时,重复设置就会影响office打开。
个人水平原因,无法深究内在原因。