今天收到一个BUG,说是系统里的数据导出出了问题.用excel2003打开报文件被破坏,虽然点确认修复出来的数据无恙,但的确是个缺陷.上网查了一下,说是JXL在高版本的EXCEL中可能不支持一些公式什么的.又回去看了下功能代码,发现没有用到公式什么的.无奈之下,决定用最傻的办法,将导出的数据按程序段进行输出.结果总算找到了导致文件不能正常打开的那段代码:
sheet.mergeCells(1, 4, 6, 1);
这是个合并单元框的语句,看上去是没有语法错误的,但是在系统中对文档的合并操作却是错误的.如果大家对文档构成没有正确的合并操作,它自然会被"破坏"了...所以使用JXL的朋友们要是出现带出的文件无法打开或是报错,除了看版本支持的问题,最好也检查下文档的构造逻辑是否正确.