POI解析Excel文件工具类
/*** 读取excel数据*/public static List<Map<String, Object>> exportListFromExcel(File file, int sheetNum) throws IOException { return exportListFromExcel(new FileInputStream(file), FilenameUtils.getExtension(file.getName()), sheetNum); } public static List<Map<String, Object>> exportListFromExcel(InputStream is, String extensionName, int sheetNum) throws IOException { Workbook workbook = null; if (extensionName.toLowerCase().equals(XLS)) { workbook = new HSSFWorkbook(is); } else if (extensionName.toLowerCase().equals(XLSX)) { workbook = new XSSFWorkbook(is); } return readCell(workbook, sheetNum); } public static List<Map<String, Object>> readCell(Workbook workbook, int sheetNum) { Sheet sheet = workbook.getSheetAt(sheetNum); List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();int sNum=1;if(sheetNum==0) { //如果是片1 sNum=0;}else if(sheetNum==1){//如果是片2 sNum=2;}for (int i=sNum; i <= sheet.getLastRowNum(); i++) { Row row = sheet.getRow(i); Map<String, Object> map = new HashMap<String, Object>(); for (Cell cell : row) { CellReference cellRef = new CellReference(row.getRowNum(), cell.getColumnIndex()); String key = cellRef.formatAsString(); switch (cell.getCellType()) { case Cell.CELL_TYPE_STRING: map.put(key, cell.getRichStringCellValue().getString()); break; case Cell.CELL_TYPE_NUMERIC: if (org.apache.poi.ss.usermodel.DateUtil.isCellDateFormatted(cell)) { map.put(key, cell.getDateCellValue()); } else {DecimalFormat dfs = new DecimalFormat("0");map.put(key, dfs.format(cell.getNumericCellValue())); } break; case Cell.CELL_TYPE_BOOLEAN: map.put(key, cell.getBooleanCellValue()); break; case Cell.CELL_TYPE_FORMULA: map.put(key, cell.getCellFormula()); break; case Cell.CELL_TYPE_BLANK: break; case Cell.CELL_TYPE_ERROR: break; default: map.put(key, ""); } } list.add(map); } return list; }
POM文件
<!-- poi --><!-- https://mvnrepository.com/artifact/org.apache.poi/poi --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.17</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.17</version></dependency><!-- commons-io --><!-- https://mvnrepository.com/artifact/commons-io/commons-io --><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.5</version></dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.7</version></dependency>
POI解析Excel文件工具类相关推荐
- java读写excel文件poi_Java利用POI读写Excel文件工具类
本文实例为大家分享了Java读写Excel文件工具类的具体代码,供大家参考,具体内容如下 package com.test.app.utils; import java.io.File; import ...
- java解析excel报错,poi解析excel文件报错
getFileMagic() only operates on streams which support mark(int) 使用 bis 解决 BufferedInputStream bis = ...
- Java面试poi中excel版本大小_java 中 poi解析Excel文件版本问题解决办法
java 中 poi解析Excel文件版本问题解决办法 发布时间:2020-10-02 03:46:15 来源:脚本之家 阅读:91 作者:程诺 poi解析Excel文件版本问题解决办法 poi解析E ...
- poi解析Excel文件版本问题
poi解析Excel文件时有两种格式: HSSFWorkbook格式用来解析Excel2003(xls)的文件 XSSFWorkbook格式用来解析Excel2007(xlsx)的文件 如果用HSSF ...
- java使用poi解析Excel文件
本文取自http://www.cnblogs.com/hongten/p/java_poi_excel_xls_xlsx.html java中读取Excel文件并解析 Excel2007及以前的文件使 ...
- 基于hutool和POI的excel导入工具类
excel导入也可以很简单,利用POI进行导入,以及强大的hutool工具类,再加上对业务的理解,就可以封装成一个超级好用的业务类了. maven依赖 <!-- Hutool超级工具类 http ...
- java解析csv文件工具类,java操作CSV文件工具类
离线路灯 UID:3 注册时间2011-08-21 最后登录2021-03-15 在线时间5398小时 发帖659 精华44 金币3650 威望1881 股份280 发帖659 金币3650威望188 ...
- Java解析eml文件工具类
依赖 <!-- https://mvnrepository.com/artifact/javax.mail/mail --><dependency><groupId> ...
- Java基础系列19:使用JXL或者POI生成和解析Excel文件
一 简介 如题所示,当我们需要在Java中解析Excel文件时,可以考虑使用JXL或POI的API来解析. 二者的区别如下: jxl现在基本上没被维护了,最近一次更新时间还是几年前.相反,poi属于A ...
最新文章
- num2cell用法
- 【js】创建数组的三种方法
- Jvm常见面试题及答案汇总1000道(春招+秋招+社招)
- 数字图像处理的Matlab实现(1)—绪论
- [svn] 分支开发
- Citrix_XenServer-6.1安装过程详解(转)
- sqlserver 班级排名_Sqlserver:班级排名问题(转发)
- mysqldump导出数据库 (dos环境下)
- 2016.3.22(关系型数据库简介,管理数据库和表)
- 利用SMS实现资产管理
- 男人在拥有女人之后!
- FORTRAN文件读写操作 from《FORTRAN95 程序设计》
- 只有PHP大牛才能读懂的内涵图
- 办公必备计算机软件,推荐8个职场办公的必备软件,每一个都能让你有所收获!...
- windows gvim下载dejavu sans mono字体并更换
- 求树的最大宽度(层次遍历法)
- 教你怎样用Python进行语音识别!非常精准!
- python好用的软件_比python好用的分析软件_财务分析报表怎么做_企业财务报表分析软件-帆软...
- (FortiGate)飞塔防火墙配置端口映射(VIP)
- 3dmax转化html,VRayMtl Converter材质转换3dsmax插件V3.97版