广告
返回顶部
首页 > 资讯 > 精选 >如何在java中导入Excel文件
  • 332
分享到

如何在java中导入Excel文件

javaexcel 2023-05-30 21:05:21 332人浏览 薄情痞子
摘要

这篇文章给大家介绍如何在java中导入excel文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、思路分析  1、我们要做导入,实际上也就是先文件上传,然后读取文件的数据。  2、我们要有一个导入的模板,因为我们导

这篇文章给大家介绍如何在java中导入excel文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

一、思路分析

  1、我们要做导入,实际上也就是先文件上传,然后读取文件的数据。

  2、我们要有一个导入的模板,因为我们导入的Excel列要和我们的数据字段匹配上,所以我们要给它来一个规定,也就是模板。

  3、按照我们公司的套路,是做了一个导入信息的临时表,用来存导入文件中的信息。每当导入的时候,我们先把表信息清空,再拿到数据放进来,然后我们对导入的数据进行检查,最后才全部导入。

    这样做的目的是防止导入的数据和列没有对上却也直接导到了库里面,要真这样了就很尴尬。我们做了三个按钮,一个导入,一个确认导入,一个导入模板下载。

  4、捋一下过程:

    点击批量导入按钮,跳转到导入页面。

    点击模板下载。(事先写好一个模板.xls文件,此按钮放置下载链接)

    在模板中录入数据。

    点击导入按钮,跳出文件上传模态框。

    选择文件,上传文件。

    上传成功后调用后台方法,读取文件内容。

    把内容生成表格,显示到导入页面。

    观察数据有没有出错。

    点击确认导入,调用后台方法,执行导入操作。

    回调函数,导入成功/导入失败 的提示。

二、代码分析

   1、前端js代码:

var actionPath = contextPath + "/alumni-import";$(function() {  //加载数据  loadData();  //上传文件  uploadFile({    subfix: ['xls'],    subfixTip: "请选择Excel的xls文件!",    successCall: function(data, status, a) {      $('[name=attachementPath]').val(data.fileName);      $.post(actionPath + "!importExcel", { "f_id": data.f_id }, function(data) {        if (data.success) {          alertify.alert(data.message);          $("#myModal-import").modal("hide");          loadData();        } else {          alertify.alert(data.message);        }      }, "JSON");    }  });  //导入  $("#btn-import").click(function() {    var html = template("importTpl");    $("#import-body").html(html);    $("#myModal-import").modal();  });  //确认导入  $("#btn-sure").click(function() {    var type = $("#indentity-type").val();    alertify.confirm("确定要全部导入吗?", function(e) {      if (!e) { return; } else {        $.post("/alumni-import!saveReal?type=" + type, function(data) {          alertify.alert("导入成功!", function() {            location.href = "/alumni!hrefPage";          });        }, "json");      }    });  });});50 function loadData() {  var options = {    url: actionPath + "!page"  };  loadPaginationData(options);}

后台功能代码

    前端有四个请求,一个初始化页面数据加载,当然,一开始是没有数据的;一个导入文件上传;一个确认导入;一个导入完成后页面跳转回要信息页面(信息页面有一个批量导入跳转到这的导入页面)。

    第一个后最后一个就不讲了。讲一下第二个和第三个。

    ①第二个

//上传文件后调用  public void importExcel() {    try {      //清空临时表的数据      baseAlumniImportSrv.deleteAll();      //读取文件      File file = gridFsDao.readFile(f_id);      //把文件信息给临时表      int count = excelXYSrv.importExcel(file);      //清空上传的文件      file.delete();      sendSucceSSMsg(count, "上传成功" + count + "条数据");    } catch (IOException e) {      LOGGER.error(e);      sendFailMsg(null, "上传失败");    }  }
@Override  //使用MongoDB GridFS,具体详解请各自初学者自行百度,注释写不下去了,我也不会,心态爆炸~~~  public File readFile(String f_id) {    //拿到文件    GridFSDBFile gridFSFile = monGoGridFs.findOne(new Query(Criteria.where(F_ID).is(f_id)));    if (gridFSFile == null) {      return null;    }    String fileName = gridFSFile.getFilename();    String extension = fileName.substring(fileName.lastIndexOf("."), fileName.length());    InputStream ins = gridFSFile.getInputStream();    String tmpFile = UUID.randomUUID().toString() + extension;    File file = new File(tmpFile);         try {      OutputStream os = new FileOutputStream(file);      int bytesRead = 0;      byte[] buffer = new byte[8192];      while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {        os.write(buffer, 0, bytesRead);      }      os.close();      ins.close();    } catch (IOException e) {      e.printStackTrace();    }    return file;  }
  @Override  public int importExcel(File excelFile) throws IOException {    List<List<Object>> datas = ExcelImportUtil.readExcel(excelFile);    int count = 0;    for (int i = 1; i < datas.size(); i++) {      BaseAlumniImport entity = this.convert2Entity(datas.get(i));      this.baseAlumniImportSrv.save(entity);      count++;    }    return count;  }

 ②第三个

public void saveReal() {    int count = 0;    List<BaseAlumniImport> importList = this.baseAlumniImportSrv.findAll();    for (int i = 0; i < importList.size(); i += 10) {      List<BaseAlumniImport> newlist = new ArrayList<>();      if ((i + 10) < importList.size()) {        newlist = importList.subList(i, i + 10);      } else {        newlist = importList.subList(i, importList.size());      }      count += excelXYSrv.saveReal(newlist, this.type);    }    sendSuccessMsg(count, "导入成功" + importList.size() + "条数据");  }
@Override  public int saveReal(List<BaseAlumniImport> importList, String type) {    int count = 0;    String alumniIdentityName = dicSrv.findById(DicAlumniIdentity.class, Integer.parseInt(type)).getValue();    for (BaseAlumniImport inst : importList) {      LOGGER.info(inst.getId());      BaseAlumni v = this.importExportSrv.convert(inst);      v.setId(IdKit.uuid());      v.setCreateTime(new Date());      v.setLastUpdate(new Date());      this.baseAlumnidDao.save(v);      this.baseAlumniImportSrv.deleteById(inst.getId());      count++;    }    return count;  }
@Override  public int saveReal(List<BaseAlumniImport> importList, String type) {    int count = 0;    String alumniIdentityName = dicSrv.findById(DicAlumniIdentity.class, Integer.parseInt(type)).getValue();    for (BaseAlumniImport inst : importList) {      LOGGER.info(inst.getId());      BaseAlumni v = this.importExportSrv.convert(inst);      v.setId(IdKit.uuid());      v.setCreateTime(new Date());      v.setLastUpdate(new Date());      this.baseAlumnidDao.save(v);      this.baseAlumniImportSrv.deleteById(inst.getId());      count++;    }    return count;  }

 没啥好讲的……会的应该都能看懂,看不懂的我也不会……

三、结果图

如何在java中导入Excel文件

如何在java中导入Excel文件

如何在java中导入Excel文件

如何在java中导入Excel文件

关于如何在java中导入Excel文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 如何在java中导入Excel文件

本文链接: https://www.lsjlt.com/news/221415.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何在java中导入Excel文件
    这篇文章给大家介绍如何在java中导入Excel文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、思路分析  1、我们要做导入,实际上也就是先文件上传,然后读取文件的数据。  2、我们要有一个导入的模板,因为我们导...
    99+
    2023-05-30
    java excel
  • java如何导入excel文件
    Java使用POI导入Excel文件,操作起来比较简单,且支持xlsx格式。下载POI资源包从官网下载POI,本文选择的是版本是3.17,下载后文件名是poi-bin-3.17.zip。起初担心版本太新,和现有项目不兼容,后来程序跑起来没发...
    99+
    2014-12-31
    java基础 java 导入 excel文件
  • java怎么导入excel文件
    思路分析:我们要做导入,实际上也就是先文件上传,然后读取文件的数据。我们要有一个导入的模板,因为我们导入的Excel列要和我们的数据字段匹配上,所以我们要给它来一个规定,也就是模板。首先做一个导入信息的临时表,用来存导入文件中的信息。每当导...
    99+
    2021-08-16
    java 导入 excel 文件
  • java如何在eclipse中导入java文件
    选中其中的一个项目,然后【Ctrl + C】复制,再【Ctrl + V】粘贴到桌面右击项目列表区域(别右击具体的项目,点击空白部分就可以了),选择【import】在打开的【import】对话框中,找到【General】文件夹,双击打开,选中...
    99+
    2019-10-17
    java入门 java eclipse 导入 文件
  • 详解如何实现在Vue中导入Excel文件
    目录一、安装依赖二、template中三、script中js代码以将此Excel导出为json数据为例 一、安装依赖 npm install file-saver --save n...
    99+
    2022-11-13
  • 怎么实现在Vue中导入Excel文件
    这篇文章主要介绍了怎么实现在Vue中导入Excel文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。以将此Excel导出为json数据为例一、安装依赖npm ins...
    99+
    2023-06-28
  • 如何在Vue中自定义字段导入Excel文件
    随着互联网技术的不断发展,越来越多的企业需要将海量的数据进行管理和分析,而其中不少的数据都以Excel的形式存在。基于Vue的Web应用程序,通常需要导入Excel文件进行数据分析和数据应用。Vue有很多库可以实现Excel文件的导入,但通...
    99+
    2023-05-14
  • Java项目中如何将Excel文件从数据库导入与导出
    本篇文章给大家分享的是有关Java项目中如何将Excel文件从数据库导入与导出,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。ExcellToObjectUtil 类主要功能是讲...
    99+
    2023-05-31
    java excel 数据库
  • 如何使用java导出Excel文件
    如何使用java导出Excel文件?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。java导出Excel通用方法的实例详解Java导出Excel通用方法,只需要一...
    99+
    2023-05-31
    java excel ava
  • 在Java Web中Excel文件如何使用POI实现导出
    在Java Web中Excel文件如何使用POI实现导出?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。采用Spring mvc架构:Controller层代码如下@Cont...
    99+
    2023-05-31
    java web poi
  • 如何将Excel文件导入MySQL数据库
    本文实例为大家分享了Excel文件导入MySQL数据库的方法,供大家参考,具体内容如下 1、简介 本博客给大家分享一个实用的小技能,我们在使用数据库时常常需要将所需的Excel数据添加进去,如果按照传统的方...
    99+
    2022-10-18
  • 如何在Python中导入EXCEL数据
    目录一、前期准备二、编写代码基本思路三、编写代码读取数据3.1  3.2四、结语一、前期准备      &nbs...
    99+
    2023-03-22
    python处理excel Python导入EXCEL
  • eclipse如何导入java文件
    在Eclipse中导入Java文件可以使用以下步骤:1. 打开Eclipse,并在工作区中创建一个新的Java项目(或选择现有的Ja...
    99+
    2023-10-09
    eclipse java
  • java如何使用EasyExcel导入导出excel
    这篇文章主要介绍了java如何使用EasyExcel导入导出excel,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、准备工作1、导包<!-- poi&nb...
    99+
    2023-06-15
  • Java实现上传Excel文件并导入数据库
    目录Java实现上传Excel文件并导出到数据库 1、导入依赖2、domain3、utils4、Controller5、xmlJava实现上传Excel文件并导出到数据库 1、导入...
    99+
    2022-11-12
  • sql文件如何在navicat中导入
    这篇文章主要介绍了sql文件如何在navicat中导入,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。打开Navicat for MySQL后...
    99+
    2022-10-18
  • java中export方法如何实现导出excel文件
    这篇文章将为大家详细讲解有关java中export方法如何实现导出excel文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.export函数//导出文件接口public String&nb...
    99+
    2023-06-29
  • oracle12c中如何导入java的jar文件
    这篇文章主要介绍oracle12c中如何导入java的jar文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 1、创建表空间 [oracle@host0...
    99+
    2022-10-19
  • 图文详解如何在navicat中导入excel表格数据
    目录基础操作篇1. 首先打开navicat 软件,进入后打开连接2. 进入后选择新建数据库3. 数据库名随便输入一个,字符集选择 utf8,排序规则选择utf8_general_ci...
    99+
    2023-02-28
    navicat导入excel表格 navicat导入excel navicat导入数据
  • JavaScript 中使用SpreadJS导入和导出 Excel 文件的方法
    目录设置 JavaScript 电子表格项目添加 Excel 导入代码将数据添加到导入的 Excel 文件添加迷你图添加 Excel 导出代码JavaScript在前端领域占据着绝对...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作