美文网首页
POI读取execl

POI读取execl

作者: 一曲三月 | 来源:发表于2021-11-26 18:28 被阅读0次
//poi
            Workbook workbook = new XSSFWorkbook(inputStream);
            org.apache.poi.ss.usermodel.Sheet sheetAt = workbook.getSheetAt(0);
            Row row_1 = sheetAt.getRow(0);
            //列数
            short lastCellNumrow = row_1.getLastCellNum();
            StringBuilder sb = new StringBuilder();
            sb.append(sql.substring(0, sql.lastIndexOf(')')));
            //行数
            int rowCount = sheetAt.getPhysicalNumberOfRows();
            for(int rowNum = 1; rowNum < rowCount; rowNum++){
                Row rowData = sheetAt.getRow(rowNum);
                if(rowData != null){
                    //获得该行的列总数目
                    short firstCellNum = rowData.getFirstCellNum();
                    if(firstCellNum!=0){
                       break;
                    }
//getPhysicalNumberOfCells 是获取不为空的列个数。
//getLastCellNum 是获取最后一个不为空的列是第几个
//                    int lineCount = rowData.getPhysicalNumberOfCells();
                    short lastCellNum = rowData.getLastCellNum();
                    for(int lineNum = 0; lineNum < lastCellNum ;lineNum++){
//                       System.out.print("第" + rowNum +"行,第" + lineNum +"列:");
                        Cell cell = rowData.getCell(lineNum);
                        if(cell==null){
                            sb.append(null + ",");
                        }
                        if(cell!=null) {
                            if(cell.getColumnIndex()!=lineNum){
                                cell.setBlank();
                                System.out.println("空值"+cell);
                            }
                            CellType cellType = cell.getCellType();
                            switch (cellType) {
                                case STRING:
                                    sb.append("'" + cell.getStringCellValue() + "'" + ",");
                                    break;
                                case BOOLEAN:
                                    sb.append("'" + cell.getBooleanCellValue() + "'" + ",");
                                    break;
                                case BLANK:
                                    sb.append(null + ",");
                                    break;
                                case ERROR:
                                    System.out.println("没有该数据类型");
                                    break;
                                case NUMERIC:
                                    //如果是日期就直接输出,否则就装换为String,然后输出
                                    if (DateUtil.isCellDateFormatted(cell)) {
                                        String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
                                                .format(cell.getDateCellValue());
                                        sb.append("'" + format + "'" + ",");
                                        break;
                                    } else {
                                        cell.setCellType(CellType.NUMERIC);
                                        sb.append("'" + cell.toString() + "'" + ",");
                                        break;
                                    }
//                                case FORMULA:
//                                    String formula = cell.getCellFormula();
//                                    System.out.println("公式:" + formula); break;
                                default:
                                    System.out.println("该位置没有数据");
                                    break;
                            }
                        }
                    }

相关文章

  • POI读取execl

  • Java使用poi包读取execl

    Execl分为两个版本,后缀名分别为.xls和.xlsx,读取两种不同版本的execl使用不同的类,所需包直接从...

  • Java操作Excel文件方法

    Java用POI读取Excel文件 1. Maven引入POI依赖 若只引入poi,则无XSSFWorkbook和...

  • python3 基于pandas读写Excel

    基于pandas读取execl读取文件类似 保存json文件: 具体文件 其他方式,参考Python-Excel ...

  • Java读取excel表格(原理+实现)

    一般都是用poi技术去读取excel表格的 什么是Apache POI? Apache POI是一种流行的API,...

  • POI

    导入poi所需的jar包 poi所需jar HSSF对xls后缀名的Excel进行读取内容: XSSF对xlsx后...

  • 计算鼓楼区人口密度

    1、读取含有POI点的CSV文件,将点在Arcmap中进行展示。 该数据集中,共有205567个POI,分为8类,...

  • java操作POI读写Excel文件

    JAVA使用POI读、写Excel文件 01.前言 当前使用比较多的读取Excel文件API就是POI和JXL。J...

  • SpringBoot + Vue 后台管理系统(七):POI读写

    在最近项目中有使用了POI读取Excel文件数据,插入到数据库中的操作。 先了解一下POI是什么? poi是Apa...

  • js导出execl

    背景 起初的需求是这样的,有一批报表(纯手工写的那种),需要execl导出的功能,之前的导出,都是用poi写的,由...

网友评论

      本文标题:POI读取execl

      本文链接:https://www.haomeiwen.com/subject/pqsxxrtx.html