待到风云起* 2023-04-03 09:06 采纳率: 28.6%
浏览 37
已结题

java统计excel表格中的人数

Java如何统计excel表格最后两列的人数,并且没有相同的人数

  • 写回答

3条回答 默认 最新

  • 沐阳gg 2023-04-03 10:33
    关注

    要统计Excel表格中最后两列的人数,并且保证没有相同的人数,可以使用Java中的Apache POI库来读取Excel文件并实现该功能,举个栗子

    import java.io.FileInputStream;
    import java.io.IOException;
    import java.util.HashSet;
    import java.util.Set;
    
    import org.apache.poi.ss.usermodel.Cell;
    import org.apache.poi.ss.usermodel.Row;
    import org.apache.poi.ss.usermodel.Sheet;
    import org.apache.poi.ss.usermodel.Workbook;
    import org.apache.poi.ss.usermodel.WorkbookFactory;
    
    public class ExcelReader {
        public static void main(String[] args) throws IOException {
            String filename = "test.xlsx"; // Excel文件名
            FileInputStream fis = new FileInputStream(filename);
            Workbook wb = WorkbookFactory.create(fis);
            Sheet sheet = wb.getSheetAt(0); // 获取第一个Sheet
    
            Set<String> lastTwoCols = new HashSet<>(); // 用来存储最后两列的人数
            for (Row row : sheet) {
                Cell cell1 = row.getCell(row.getLastCellNum() - 2); // 获取倒数第二列
                Cell cell2 = row.getCell(row.getLastCellNum() - 1); // 获取最后一列
                String value1 = cell1.getStringCellValue().trim(); // 获取单元格内容并去掉空格
                String value2 = cell2.getStringCellValue().trim(); // 获取单元格内容并去掉空格
                String lastTwo = value1 + "_" + value2; // 合并最后两列
                lastTwoCols.add(lastTwo); // 加入Set集合
            }
    
            int count = lastTwoCols.size(); // 统计不同的人数
            System.out.println("不同的人数:" + count);
        }
    }
    上述代码首先读取Excel文件,然后遍历第一个Sheet中的每一行,获取最后两列的内容,并将其合并成一个字符串,加入到一个Set集合中。由于Set集合的特点是不允许重复元素,因此最后Set集合的大小就是最后两列的不同人数。
    
    回答不易,望采纳!😘
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月11日
  • 已采纳回答 4月3日
  • 创建了问题 4月3日

悬赏问题

  • ¥15 ArcGIS批量裁剪
  • ¥15 labview程序设计
  • ¥15 为什么在配置Linux系统的时候执行脚本总是出现E: Failed to fetch http:L/cn.archive.ubuntu.com
  • ¥15 Cloudreve保存用户组存储空间大小时报错
  • ¥15 伪标签为什么不能作为弱监督语义分割的结果?
  • ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
  • ¥15 游戏盾如何溯源服务器真实ip?
  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥50 win10链接MySQL