当前位置: 首页 > article >正文

Java(119):ExcelUtil工具类(org.apache.poi读取和写入Excel)

ExcelUtil工具类(XSSFWorkbook读取和写入Excel),入参和出参都是:List<Map<String,Object>>

一、读取Excel

testdata.xlsx


1、new XSSFWorkbook对象

            File file = new File(filePath);
            FileInputStream fis = new FileInputStream(file);
            XSSFWorkbook wb = new XSSFWorkbook(fis);


2、new XSSFSheet对象

            //获取sheet第一个
            XSSFSheet xSheet = wb.getSheetAt(0);
            if(sheetName!=null) {
                //如果sheetName入参可用这个,通过名称获取
                xSheet = wb.getSheet(sheetName);
            }


3、遍历行读取数据写入List<Map<String,Object>>

          for (int i = 0; i <= xSheet.getLastRowNum(); i++) {  //遍历所有行
                if(i==0){  //标题行
                    for (int j = 0; j < xSheet.getRow(i).getPhysicalNumberOfCells(); j++) {
                        headMap.put(j, xSheet.getRow(i).getCell(j).toString());
                    }
                    continue;
                }
                Map<String, Object> paramsMap = new HashMap<>();
                for (int j = 0; j < xSheet.getRow(i).getPhysicalNumberOfCells(); j++) {  //遍历当前行所有列
                    String key=headMap.get(j);
                    Cell cell=xSheet.getRow(i).getCell(j);
                    switch (cell.getCellType()) {
                        case Cell.CELL_TYPE_STRING:
                            paramsMap.put(key,cell.getStringCellValue());
                            break;
                        case Cell.CELL_TYPE_NUMERIC:
                            paramsMap.put(key,new Double(cell.getNumericCellValue()).intValue());
                            b


http://www.kler.cn/a/152638.html

相关文章:

  • 预览功能实现
  • 用Elasticsearch搜索匹配功能实现基于地理位置的查询
  • 腾讯云CODING全面支持云平台开发者生态
  • 如何把公域流量变为自己的私域流量?
  • 【物联网开发】、【小程序蓝牙通讯数据校验】JS CRC-16-MODBUS 验证 高位在前地位在后;JS异或校验;16进制字符串和float互转
  • 风险数据集市
  • 学习canvas
  • 若依项目前后端部署记录
  • 【性能测试】性能测试监控关键指标
  • Android问题笔记四十九:ViewPager 嵌套 Fragment 扩大滑动响应区域,避免左右滑动过于灵敏问题
  • Redis多机数据库
  • 鸿蒙原生应用/元服务开发-利用picker选择器来多选相册图片
  • 测试-感受生产者消费者模型-阻塞队列
  • 【关于Ubuntu换源的问题】/Ubuntu 软件更新和ros软件包定位
  • MFC设置状态栏文本导致崩溃的原因
  • @ResponseBody详解:用于响应体响应数据
  • WT2605-24SS高品质录音语音芯片:实现五种变音效果,为音频应用增添无限创意
  • PGSQL(PostgreSQL)数据库安装教程
  • 【广州华锐互动】节约用水VR互动教育:身临其境体验水资源的珍贵!
  • SQL面试题,判断if的实战应用