关于从Excel中读取数据问题,并将被合并的单元格的值分别读取到合并占用的每一个单元格中。

关于从Excel中读取数据问题,并将被合并的单元格的值分别读取到合并占用的每一个单元格中。_第1张图片

如上图所示,我们想读取Excel表格中的数据,并将其封装进实体类中,用poi是很容易完成操作的。但是被合并的单元格的值我们要怎么处理呢?经试验发现,被合并的单元格并不是每一行都存在值,而是只有被合并的第一行单元格中有数据。我们的解决思路是先获取整个Excel表格中被合并的单元格的栏位。在读取单元格的同时遍历被合并过得单元格,获取被合并单元格的四个坐标,将其与当前单元格坐标进行比较。若当前单元格包含在合并单元格内,则获取左上角(及有值的单元格数据),并存入bean中。以下是代码:

实体类:

package bean;

public class excelDto {

    //保全项目序号
    private String projectNum;
    //保全项目名称
    private String projectName;
    //场景编号
    private String sceneNum;
    //测试场景
    private String testScene;
    //测试类
    private String testClass;
    //测试参数VData
    private String testParameterVData;
    //测试参数Operate
    private String testOperate;
    //保单号
    private String policyNo;
    //预期金额结果
    private String sumResult;
    //预期结果取数逻辑
    private String result;
    
    
    public excelDto() {
        super();
        // TODO Auto-generated constructor stub
    }
    
    public excelDto(String projectNum, String projectName, String sceneNum,
            String testScene, String testClass, String testParameterVData,
            String testOperate, String policyNo, String sumResult, String result) {
        super();
        this.projectNum = projectNum;
        this.projectName = projectName;
        this.sceneNum = sceneNum;
        this.testScene = testScene;
        this.testClass = testClass;
        this.testParameterVData = testParameterVData;
        this.testOperate = testOperate;
        this.policyNo = policyNo;
        this.sumResult = sumResult;
        this.result = result;
    }
    public String getProjectNum() {
        return projectNum;
    }
    public void setProjectNum(String projectNum) {
        this.projectNum = projectNum;
    }
    public String getProjectName() {
        return projectName;
    }
    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }
    public String getSceneNum() {
        return sceneNum;
    }
    public void setSceneNum(String sceneNum) {
   

你可能感兴趣的:(poi,java,Excel,后端)