首页 / JAVA / Java-读取Excel
Java-读取Excel
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java-读取Excel,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3406字,纯文字阅读大概需要5分钟。
内容图文
1、需要在pom.xml中配置需要使用的包:org.apache.poi
<!-- poi --> < dependency > < groupId >org.apache.poi</groupId><artifactId>poi</artifactId><version>3.10-FINAL</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.10-FINAL</version></dependency><!--poi-end-->
2、配置完成后,点击Maven-install,Maven会自动下载包
3、创建一个java类:ExcelUtil
package excelDemo; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; 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; import java.io.*; import java.util.*; publicclass ExcelUtil { publicstatic Map<String, List<String>> getExcel(String filePath, String sheetName) { Map<String, List<String>> dataList = new HashMap<>();//用来存放从Excel中读取的数据 Workbook wb = null; try { InputStream is = new FileInputStream(filePath);//打开Excel文件 wb = WorkbookFactory.create(is);//创建一个Workbook对象 is.close();//关闭输入流if (wb != null) { Sheet sheet = wb.getSheet(sheetName);//根据sheet页的名字来获取sheet对象 //Sheet sheet = wb.getSheetAt(0);//获取下标为0的sheet页 //int rows = sheet.getLastRowNum();//获取的是最后一行的编号(编号从0开始)。int maxRownum = sheet.getPhysicalNumberOfRows();//获取的是物理行数,也就是不包括那些空行(隔行)的情况。 Row firstRow = sheet.getRow(0);//获取第一行的row对象int maxColnum = firstRow.getPhysicalNumberOfCells();//获取第一行的最大列的下标 //System.out.println(maxColnum);for (int i=0;i<maxRownum;i++){//循环行 List<String> list = new ArrayList<>();//创建一个list用来存放每一行的值 String firstColumns = sheet.getRow(i).getCell(0).toString();//获取每一行的第一列的值,用来做map的Key String estr ="";//用来存放单元格的值for (int j=0;j<maxColnum;j++){//循环列if (sheet.getRow(i).getCell(j) != null) {//判断单元格是否为空 estr = sheet.getRow(i).getCell(j).toString();//取出这个单元格的值 }else { estr=""; } //System.out.println(firstColumns+"---"+estr); list.add(estr);//把单元格的值放到list里 } dataList.put(firstColumns,list);//把list存放到map里 } //System.out.println(dataList); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (InvalidFormatException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return dataList;//返回map } }
Excel中的数据
4、写一个ExcelTest类来测试
package excelDemo; import java.util.List; import java.util.Map; public class ExcelTest { public static void main(String[] args) { ExcelUtil excelUtil = new ExcelUtil();//创建ExcelUtil类的对象 String filePath = "/Users/renli/PycharmProjects/untitled/testFile/SendCredit.xlsx";//Excel存放的路径(我的电脑是macbook所以没有盘符) String sheetName = "Sheet1";//需要获取的sheetName Map<String, List<String>> rows = ExcelUtil.getExcel(filePath,sheetName);//调用getExcel方法,获取到一个Map<String, List<String>> //System.out.println(rows); //System.out.println(rows.size());for(String key:rows.keySet()){//取出Map中所有的Key的值,遍历 System.out.println(key+"---->"+rows.get(key)); List<String> list = rows.get(key);//取出Map中Key为key的value的值,赋值给一个listfor (int i=0;i<list.size();i++){//循环遍历list //list.get(i)根据下标获取值 System.out.println("测试编码为 "+key+ " 的第 " +(i+1)+" 个值:"+ list.get(i).toString()); } } } }
执行结果
原文:https://www.cnblogs.com/lilyo/p/12930469.html
内容总结
以上是互联网集市为您收集整理的Java-读取Excel全部内容,希望文章能够帮你解决Java-读取Excel所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。