首页 > 编程语言 >java处理excel文件的读写

java处理excel文件的读写

时间:2022-12-23 16:44:53浏览次数:42  
标签:java wb File 读写 excel fileName file new null

简述

1、一般会将文件地址作为入参,对文件进行处理
2、将文件放到File中:File file = new File(fileName)
3、判断文件是否存在:if(!file.exists()){return null;}
4、将文件放入流中进行处理:InputStream is= new FileInputStream(file)
5、创建工作部:Workbook wb= new HSSFWorkbook(is),创建方式不一样,XSSFWorkbook
6、获取excel中的一个表格 Sheet sheet = wb.getSheetAt(0);
7、遍历表格里的数据
8、捕获异常,关闭流。

示例代码如下:

点击查看代码
public static Map<String, String> readExcel(String fileName){
    Map<String, String> map = new HashMap<String, String>();	
    File file = new File(fileName);
    if (!file.exists()) {
       return null;
    }
    InputStream is = null;
    try {
          is = new FileInputStream(file);
          Workbook wb = null;
          if (fileName.endsWith(".xls")) {
             // 2003版本
             wb = new HSSFWorkbook(is);
           }  else if (fileName.endsWith(".xlsx")) {
             // 2007版本
             wb = new XSSFWorkbook(is);
            } else {
                throw new ExcelReadException("文件类型不正确或不是Excel文件");
            }
            Sheet sheet = wb.getSheetAt(0);
            AddressInfo tbAddress = null;
            for (int i = 1; i <= sheet.getLastRowNum(); i++) {
            	tbAddress = new AddressInfo();
                Row rows = sheet.getRow(i);
                if (rows == null) {
                    continue;
                }
                String oldAddress = rows.getCell(0).getStringCellValue() + rows.getCell(1).getStringCellValue() + rows.getCell(2).getStringCellValue();
                tbAddress.setProvince(rows.getCell(4).getStringCellValue());
                tbAddress.setCity(rows.getCell(5).getStringCellValue());
                tbAddress.setArea(rows.getCell(6).getStringCellValue());
                map.put(oldAddress.toString(), tbAddress.toString());
            }
            
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (is != null) {
            	try {
		    is.close();
		} catch (IOException e) {
		  e.printStackTrace();
		}
            }
        }
	return map;
	}

标签:java,wb,File,读写,excel,fileName,file,new,null
From: https://www.cnblogs.com/jqqlf/p/17001025.html

相关文章

  • Java重点 | Collection集合的子类
    Collection集合的子类List接口独有的常用方法举例介绍publicclassList接口常用方法{publicstaticvoidmain(String[]args){Listlist=newArray......
  • HIS互联网医院门诊信息管理系统源码JAVA语言开发 现场挂号 Spring + SpringBoot B/S模
    项目技术:HIS功能介绍:前台:挂号、患者基本信息、姓名、年龄、性别、身份证号、出生日期、住址挂号信息:挂号科室、号别、门诊医生、费用、(支付宝、微信)、现场挂号、退号......
  • JavaScript大文件上传详解及实例代码
    ​以ASP.NETCoreWebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API,包括文件的上传和下载。 准备文件上传的API #region 文件上传 ......
  • java线程池原理
    内容:  1、什么是线程池      2、线程池的优点      3、java线程池原理(重点)      4、理解java线程池(重点)      5、......
  • Java基础项目:超市管理项目
    JavaSE项目:超市管理系统项目:上面项目所用的表结构:实体类:@Setter@Getter@NoArgsConstructor@AllArgsConstructorpublicclassCart{privateIntegergdId......
  • 教你用JavaScript实现计数器
    案例介绍欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个计数器。点击按钮数字改变,点击重置数字归0。通过实战我们将学......
  • 教你用JavaScript实现计数器
    案例介绍欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个计数器。点击按钮数字改变,点击重置数字归0。通过实战我们将学会fo......
  • Day01_04_Linux_Ubuntu教程之安装配置 Java 开发环境
    一.Linux安装配置Java开发环境1.概述此处在Ubuntu18.04系统下以jdk-8u211-linux-x64.tar.gz.zip为例2.下载地址​​http://www.oracle.com/technetwork/java/javase/......
  • java switch语法
    javaswitch语法switch(type){case"aaa":break;case"bbb":break;case"ccc":......
  • 万年历 Java
    https://blog.csdn.net/qq_45871809/article/details/118299667packagesign_test;importjava.util.Scanner;publicclassWanNianLi{publicstaticvoidmai......