美文网首页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