美文网首页Java 杂谈程序员
java - poi - excel导入读取行数不正确 | ja

java - poi - excel导入读取行数不正确 | ja

作者: 之乏 | 来源:发表于2018-03-17 10:27 被阅读0次

前言:

在开发阶段,编写此模块时需要人工创建一个excel模板,用于存储规定格式的数据,比如几行、几列等。以用于测试代码是否开发正确。

关于怎么读取这里不多作介绍,本篇文章主要讲解读取过程中 有关 读取行数不正确的问题以及解决方法


0x001:

创建excel模板时,不管你有几行几列,需要注意一点,

“不在模板行 及 模板列 范围内的 请不要去动”

通俗一点讲,现在excle里有2行5列,第1行为告诉用户导入时需要注意的事项,第2行为表头,例如:学号,姓名,班级,年龄,专业

这两行可能会需要设置“格式”,比如字体大小,颜色,居中等等。

到此为止,poi的getLastRowNum()及getPhysicalNumberOfRows()返回结果是正确的。

                                                 getLastRowNum() 从0开始


0x002:

接下来就是可能会 犯错误 的地方,excel创建出来,行高及列宽都是很小的,不方便阅读及填写。

可能会去给它设置行高及列宽,以达到能撑开输入字体所占的空间大小,

这个时候如果将 没有填充数据的行 也去 设置 

行高或列宽或字体大小等等其他非默认格式

就会造成poi 的误读,导致行数不正确

不管是getLastRowNum()还是getPhysicalNumberOfRows(),都不会达到你想到的行数。

                                其实真实数据就3行 : 模板数据占2行+有效数据占1行


0x003:

所以,没有填入数据的行和列,请保持原始默认格式不要设置任何格式

一旦设置了,三种解决方法:

1、对设置格式的行进行填充数据。

2、选中带有格式的全部行,删除。

3、重新建表


0x004:

完结

相关文章

网友评论

    本文标题:java - poi - excel导入读取行数不正确 | ja

    本文链接:https://www.haomeiwen.com/subject/zigdqftx.html