whycxzp
2023-08-11 e2977d55d9338387a13478713a1f90fa3de3ae11
图片集合非空校验
1个文件已修改
50 ■■■■■ 已修改文件
src/main/java/com/whyc/service/ProductService.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ProductService.java
@@ -182,32 +182,38 @@
                //存储图片信息及所在分页
                Map<Integer,PictureData> pictureDataMap = new HashMap<>();
                if(excelType == 1){ //.xls
                    List<HSSFShape> children = ((HSSFSheet) sheet).getDrawingPatriarch().getChildren();
                    for (HSSFShape child : children) {
                        HSSFPicture picture = (HSSFPicture)child;
                        HSSFPictureData pictureData = picture.getPictureData();
                        HSSFClientAnchor anchor = (HSSFClientAnchor) child.getAnchor();
                        //行,不能跨行;
                        int row1 = anchor.getRow1();
                        int row2 = anchor.getRow2();
                        if(row1 == row2){
                            //不跨行,有效
                            pictureDataMap.put(row1,pictureData);
                    HSSFPatriarch drawingPatriarch = ((HSSFSheet) sheet).getDrawingPatriarch();
                    if(drawingPatriarch!=null) {
                        List<HSSFShape> children = drawingPatriarch.getChildren();
                        for (HSSFShape child : children) {
                            HSSFPicture picture = (HSSFPicture) child;
                            HSSFPictureData pictureData = picture.getPictureData();
                            HSSFClientAnchor anchor = (HSSFClientAnchor) child.getAnchor();
                            //行,不能跨行;
                            int row1 = anchor.getRow1();
                            int row2 = anchor.getRow2();
                            if (row1 == row2) {
                                //不跨行,有效
                                pictureDataMap.put(row1, pictureData);
                            }
                        }
                    }
                }
                else if(excelType == 2){ //.xlsx
                    List<XSSFShape> children = ((XSSFSheet) sheet).getDrawingPatriarch().getShapes();
                    for (XSSFShape child : children) {
                        XSSFPicture picture = (XSSFPicture)child;
                        XSSFPictureData pictureData = picture.getPictureData();
                        XSSFClientAnchor anchor = (XSSFClientAnchor) child.getAnchor();
                        //行,不能跨行;
                        int row1 = anchor.getRow1();
                        int row2 = anchor.getRow2();
                        if(row1 == row2){
                            //不跨行,有效
                            pictureDataMap.put(row1,pictureData);
                    XSSFDrawing drawingPatriarch = ((XSSFSheet) sheet).getDrawingPatriarch();
                    if(drawingPatriarch!=null) {
                        List<XSSFShape> children = drawingPatriarch.getShapes();
                        for (XSSFShape child : children) {
                            XSSFPicture picture = (XSSFPicture) child;
                            XSSFPictureData pictureData = picture.getPictureData();
                            XSSFClientAnchor anchor = (XSSFClientAnchor) child.getAnchor();
                            //行,不能跨行;
                            int row1 = anchor.getRow1();
                            int row2 = anchor.getRow2();
                            if (row1 == row2) {
                                //不跨行,有效
                                pictureDataMap.put(row1, pictureData);
                            }
                        }
                    }
                }