合并单元格的值是放在合并区域的第一个单元格内的,所以读取方法和没合并的一样
i=range("A2")value '把"项目编号--24”赋值给i
j=range("A11")value '把"得分--7”赋值给j
在保护状态下execl的格式有可能正在被使用,你这边修改,准确说是线程冲突,一般excel值会作为导出文件的模板,是不会编辑的。你可以在读的时候判断execl是否正在被使用。
下面的代码问题,你可以参考
package comhwtglmfcommon;
import javaioIOException;
import javaioOutputStream;
import javautilArrayList;
import javautilList;
import javaxservlet>
如果表头固定在第一行,可以扫描表头,获得你需要的数据的列号,例如下面的代码寻找姓名、性别、手机的列号:
var c_name,c_sex,c_mobile;for (i=0;i<n;i++){
if (cells(1,i)=="姓名") c_name=i;
if (cells(1,i)=="性别") c_sex=i;
if (cells(1,i)=="手机") c_mobile=i;
}
然后开始正确程序,使用这些列号获取你需要的列。
通过getPhysicalNumberOfRows()获得的实际行数,不一定有数据的行数。
比如某个单元格只设置了非“常规”的格式,它也会被POI认为是实际行。
不过POI里似乎没有没有这样的方法,getNextPhysicalRow()。
所以只好从getFirstRowNum()到getLastRowNum()遍历,如果null==currentRow,验证下一行。
api里面好像没有直接按列读取的方法,变通一下吧。根据自己需要的列的数量分别按列建立存储的数据结构(List),然后使用API迭代行,每一次迭代把每一行需要的列数据存入已经建立的数据结构。这样的话一次循环就可以得所有的列数据了。
以上就是关于poi读取复杂的Excel表格,如图全部的内容,包括:poi读取复杂的Excel表格,如图、JAVA 使用POI导出EXCEL文件,但是数据中有特殊字符该如何正确导出、java poi 读取Excel数据,Excel表格格式不一等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)