java excel 的POI导入

标签: POI EXCEL xlsx java
152人阅读 评论(0) 收藏 举报
分类:

Excel导入:

使用apache 的POI进行excel的导入,

1.    pom.xml中添加依赖

<dependency>
   <
groupId>commons-fileupload</groupId>
   <
artifactId>commons-fileupload</artifactId>
   <
version>1.3.2</version>
</
dependency>
<
dependency>
   <
groupId>org.apache.poi</groupId>
   <
artifactId>poi-ooxml</artifactId>
   <
version>3.17</version>
</
dependency>

 

2.    获取当前xlsx文件的整个book对象

//文件存放所在文件夹
private static final String pathDir="E:\\要导入的病例\\";

/**
* @Description: 根据文件的位置,获取当前excelbook对象
* @param path 文件名
* @return org.apache.poi.xssf.usermodel.XSSFWorkbook
* @author zk
* @date 2018-04-09 19:22
*/
public static XSSFWorkbook getBook(String path) throws Exception{
    OPCPackage pkg = OPCPackage.open(pathDir+path);
    XSSFWorkbook hWorkbook = new XSSFWorkbook(pkg);
    return hWorkbook;
}

 

获取当前的表格对象,获取当前的第一页的表格对象

XSSFWorkbook book = ExcelUtil.getBook(s);

XSSFSheet sheet = book.getSheetAt(1);

3.    其他的就没有什么了.我写了一点工具类,贡献给大家了

 package com.dataimport.util;

import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

/**
 * @Description: Excel 工具类
 * @author zk
 * @date 2018-04-03 10:19
 */
public class ExcelUtil {

    //文件存放所在文件夹
    private static final String pathDir="E:\\要导入的病例\\";


    /**
    * @Description: 根据文件的位置,获取当前excelbook对象
    * @param path 文件名
    * @return org.apache.poi.xssf.usermodel.XSSFWorkbook
    * @author zk
    * @date 2018-04-09 19:22
    */
    public static XSSFWorkbook getBook(String path) throws Exception{
        OPCPackage pkg = OPCPackage.open(pathDir+path);
        XSSFWorkbook hWorkbook = new XSSFWorkbook(pkg);
        return hWorkbook;
    }

    /**
     * Description: 根据文件位置,获取第index个表格的对象
     * @date 2018323日
     * @author zk
     */
    public static  XSSFSheet getSheet(String path,int index) throws Exception{
       /* File tempFile = new File(pathDir+path);
        InputStream in = new FileInputStream(tempFile);
        XSSFWorkbook hWorkbook = new XSSFWorkbook(in);
        */
       //使用新的方法获取流
        OPCPackage pkg = OPCPackage.open(pathDir+path);
        XSSFWorkbook hWorkbook = new XSSFWorkbook(pkg);
        XSSFSheet hSheet = hWorkbook.getSheetAt(index);
        return hSheet;
    }


    /**
     * Description: 是否是一个空的表格,没有内容
     * @param cell 一个表格对象
     * @date 2018329日
     * @author zk
     */
    public static boolean isNotNullBlock(XSSFCell cell){
        if(cell!=null){
            if(!cell.toString().equals("")){
                return true;
            }
        }
        return false;
    }


    /**
    * @Description: 获取一行的某一列的数据,为空就返回null
    * @param row 行对象, index  第几列
    * @return java.lang.String
    * @author zk
    * @date 2018-04-10 11:15
    */
    public static String getCell(XSSFRow row,int index){
        if(row==null){
            return null;
        }
        XSSFCell cell1 = row.getCell(index);
        String tmp=null;
        if(ExcelUtil.isNotNullBlock(cell1)){
            tmp=cell1.toString().trim();
        }
        return tmp;
    }

}

 

Excel 中的一个表格如果储存的是

1,

2.

3.

这种换行的内容,从java中读取出来,默认是加上了\n 换行符的.

cell0.toString().replace("\n","")     就直接去掉了换行,变成一行了,打印出来是1,2.3.

如果不进行任何操作读取出来进行打印就是:

1,

2.

3.

 

如果是使用了excel的自动换行功能,在java中读取出来不会进行换行,还是一行的哦.


还有其中涉及到的mybatis批量插入,批量修改等等,不一而足.以后再写


今天终于把手头的活干完了,暂时告一段落了.以后就是慢慢改这些东西了.来这个公司3个星期了,写了3个星期的Excel导入了....

天天加班,和我家的小可爱聊天的时间就少了好多....哎.


推荐一个好的JVM视频:

https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.d4381debBlIvSt&id=565031068322



查看评论

Java poi+excel导入

用的SSM框架,所需要的jar包如图所示:,链接地址:jar包下载  ,下面直接上代码。1、ExcelUtil工具类&amp;lt;span style=&quot;color:#993399;&qu...
  • lp1791803611
  • lp1791803611
  • 2016-08-29 14:21:59
  • 29437

Java利用POI实现数据的Excel导入

org.apache.poi poi-ooxml-schemas 3.15 @RequestMapping(value = "/excel/upload", method...
  • lijinzhou2017
  • lijinzhou2017
  • 2017-06-05 16:18:54
  • 763

Java POI 导入Excel并解析

项目上碰到需要导入Excel表的数据,主要包括web端上传部分和spring后端代码。       1、Web页面代码       ,注意form里需增加encType="multipart/fo...
  • linlzk
  • linlzk
  • 2015-04-16 11:42:25
  • 14411

JAVA WEB POI Excel导出导入

一、废话不多说,下面开始介绍如何POI Excel操作: 1、如何生成excel表格:直接上代码- 新建一个工具类ExcelUtil public clas...
  • su19921021
  • su19921021
  • 2015-11-12 08:22:12
  • 4251

java_poi导入excel通用工具类V0915

  • 2017年09月15日 22:47
  • 10.13MB
  • 下载

java运用poi导入excel并存入数据库(内含自己用的选择路径方法)

/*  * To change this license header, choose License Headers in Project Properties.  * To change this...
  • chuxuan0215
  • chuxuan0215
  • 2017-08-08 14:58:22
  • 1813

Java POI 导入导出Excel简单实例源代码

  • 2014年08月28日 16:25
  • 12KB
  • 下载

java之poi操作excel-批量导入导出

介绍采用poi批量导入导出excel数据
  • u013871100
  • u013871100
  • 2016-10-23 16:52:05
  • 31846

java-poi导出导入excel文件到数据库

  • 2014年01月22日 13:10
  • 8.99MB
  • 下载

java中用poi导入excel文件到数据库总结

1.导入poi相关jar包。下载地址:http://poi.apache.org/download.html 2.jsp页面用表单上传,表单记得写入enctype="multipart/fo...
  • qq_37552993
  • qq_37552993
  • 2017-04-28 17:04:47
  • 976
    个人资料
    持之以恒
    等级:
    访问量: 2万+
    积分: 373
    排名: 21万+
    最新评论