POI,在循环中对单元格操作赋值无效

图片说明
图片说明

    List<DetailInfo> detailInfos = allContent.getDetailInfos();
    int detailSize = allContent.getDetailInfos().size();

    if(detailInfos!=null) {
        for(int i=0 ;i<detailSize;i++) {
            HSSFRow detailRow = sheet.createRow(5+i);//创建detail所表示的行

            //创建每行的属性栏
            HSSFCell celltwo = detailRow.createCell(2);
            HSSFCell cellthree = detailRow.createCell(3);
            HSSFCell cellfour = detailRow.createCell(4);
            HSSFCell cellfive = detailRow.createCell(5);

            System.out.println("--:"+detailInfos.get(i).getProductName());  
            System.out.println("--:"+detailInfos.get(i).getQuantity()); 

            detailRow.createCell(0).setCellValue(detailInfos.get(i).getProductName());
            celltwo.setCellValue("2"+detailInfos.get(i).getQuantity()+"2");
            cellthree.setCellValue("3"+detailInfos.get(i).getHeadDeal()+"3");
            cellfour.setCellValue("4"+detailInfos.get(i).getType()+"4");
            cellfive.setCellValue("5"+detailInfos.get(i).getMannerPacking()+"5");

            regionRow = new CellRangeAddress(5+i,5+i,0,1);
            sheet.addMergedRegion(regionRow);
            regionRow = new CellRangeAddress(5+i,5+i,5,6);
            sheet.addMergedRegion(regionRow);   

        }
        HSSFRow detailRow = sheet.createRow(5);//创建detail所表示的行
        HSSFCell cellsix = detailRow.createCell(7);
        String sixInput = "时间:"+allContent.getShowInfo().getDeliveryDate()+"\n"+
                "地点:"+allContent.getShowInfo().getDeliveryPoints()+"\n";

        cellsix.setCellValue(sixInput);
        regionRow = new CellRangeAddress(5,4+detailSize,7,8);
        sheet.addMergedRegion(regionRow);   


    }

    这里放在循环里的对单元格Cell赋值的操作都是无效的。控制台能输出要输入的内容。


    其中交货地址 是放在循坏外面写的。
    求解答!
qq_42455916
nulixuexidexiaojie 我自己粗心大意 创建了两次一样的行 将之前的内容覆盖了
7 个月之前 回复

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐