java批量导入Excel数据

这篇具有很好参考价值的文章主要介绍了java批量导入Excel数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.后台导入代码

import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import cn.afterturn.easypoi.excel.imports.ExcelImportService;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;


  @ApiOperation(value = "以导入excel方式")
    @PostMapping(value = "/uuApplyUserInfo")
    public String importMonitor(@RequestParam MultipartFile file) throws Exception {

        if (file == null) {
            return ValueUtil.isError("导入失败,上传文件数据不能为空");
        }

        ImportParams params = new ImportParams();
        params.setNeedVerify(true);//是否开启校验
        params.setHeadRows(1); //头行忽略的行数

        final ExcelImportService excelImportService = new ExcelImportService();
        ExcelImportResult excelImportResult = excelImportService.importExcelByIs(file.getInputStream(), YzLicensedUnit.class, params, false);
        //校验成功数据
        List<YzLicensedUnit> list = excelImportResult.getList();

        final Field failCollection = ExcelImportService.class.getDeclaredField("failCollection");
        failCollection.setAccessible(true);
        //校验失败数据
        List<YzLicensedUnit> failList = (List) failCollection.get(excelImportService);

        if (list.size() == 0 && failList.size() == 0) {
            return ValueUtil.isError("导入失败,上传文件数据不能为空");
        }
        if (failList.size() > 0){
            return ValueUtil.isError("导入失败,上传文件数据与模板不一致");
        }
        //如果没有错误,可以存入数据库
        if (list.size() >= 0 &&  StringUtil.isNotEmpty(list)) {
            //批量插入sql语句
            licensedUnitService.saveBatch(list);
        }else{
            return ValueUtil.isError("导入失败,上传文件数据不能为空");
        }

        return ValueUtil.toJson("导入成功");
    }

2.实体类

import cn.afterturn.easypoi.excel.annotation.Excel;

@Data
@TableName("数据库表名")
public class YzLicensedUnit {

    
    //表格有的字段都要加Execl,并且name要跟表格字段一致
    @Excel(name = "持证面积/亩")
    @NotNull(message = "持证面积/亩不能为空")
    private BigDecimal acreage;

    @ApiModelProperty(value = "经度")
    private String longitude;

    @ApiModelProperty(value = "纬度")
    private String latitude;

    //replace 表格传来的值如果等于 是,则字段内容插到表中的是0,否就是1
    @Excel(name = "苗种生产许可证持证单位",replace ={"是_0","否_1"})
    @NotNull(message = "苗种生产许可证持证单位不能为空")
    private String permit;

   
    @Excel(name = "持证编号")
    @NotNull(message = "持证编号不能为空")
    private String number;

    @Excel(name = "持证单位")
    @NotNull(message = "持证单位不能为空")
    private String entName;

2.1设置表格下拉选项 

java实现excel大量数据导入,java,excel,vue.js

java实现excel大量数据导入,java,excel,vue.js

3.vue前端导入功能代码文章来源地址https://www.toymoban.com/news/detail-706156.html

      <el-upload
          :auto-upload="true"
          :multiple="false"
          :on-change="handleChange"
          :on-success="fileUploadSuccess"
          :on-error="fileUploadError"
          :file-list="fileList"
          :action="BASE_API"
          name="file"
          accept="application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
      >
        <el-button size="small" type="primary">批量导入</el-button>
      </el-upload>

export default {
  data() {
    return {
      fileList: [],
      //批量导入接口地址
      BASE_API: this.http_url + "/api/uuApplyUserInfo",
     
    };
  },
 methods: {
    handleChange() {
    },
    // 上传多于一个文件时
    fileUploadExceed() {
      this.$message.warning("只能选取一个文件");
    },
    //上传成功回调:通信成功
    fileUploadSuccess(row) {
      //业务失败
      if (row.code == '500') {
        this.$message.error(row.msg);
      } else {
        //业务成功
        this.$message.success(row.msg);
      }
      this.fileList = [];
      this.search();
    },
    //上传失败回调:通信失败
    fileUploadError(error) {
      error = JSON.parse(error.toString().substr(6));
      this.$message.error(error.msg);
    }
}

到了这里,关于java批量导入Excel数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL批量导入Excel数据【超详细】

    查看此文章前强烈建议先看这篇文章:Java江湖路 | 专栏目录 今天遇到一个需求,批量更新数据库中全国各地的物流价格,产品经理很贴心的为我做好了数据表格,说是上一个技术也是这么做的,好,压力给到我这边。话不多说,直接上步骤。 1、准备好我们需要导入的excel表

    2024年02月05日
    浏览(54)
  • 微信小程序 -- 数据库数据excel文件批量导入

    一、excel文件批量导入数据到数据库 1.创建node.js函数upload,点击upload右键外部终端中安装类库 2.云函数代码 js代码

    2024年02月12日
    浏览(67)
  • DEDE批量导入excel数据到后台文章系统的开发教程

    对于一些企业网站或者淘宝客类网站经常会需要将一些excel的数据批量导入到网站,通过批量导入来节省时间而不是从网站后台一条一条的录入加数据。本教程就是以把excel数据导入到织梦系统(dedecms)为例子进行批量数据导入的开发,假设把excel数据导入到织梦主表dede_archi

    2024年02月02日
    浏览(31)
  • JS实现Excel导入以及table导出为Excel

    在开发项目的过程中遇到了一个需求,将excel文件导入并且解析渲染到页面上。用户可以对表格内的部分内容做修改后再上传到服务端。 导入Excel 1.使用html支持上传标签从本地获取文件,例如type为file的input,el-upload等 2.实例化FileReader,并且通过readAsBinaryString将文件读取为二

    2024年02月09日
    浏览(44)
  • java实现excel的导入导出(带参数校验:非空校验、数据格式校验)

    本次封装引入阿里开源框架EasyExcel,EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。 github地址:GitHub - alibaba/easyexcel: 快速、简洁、解决大文件内存溢出的java处理Excel工具 。 64M内存20秒读取75M(46W行25列)的Excel(3.0.2

    2024年02月01日
    浏览(69)
  • 如何使用Vue实现Excel表格数据的导入,在前端实现Excel表格文件的上传和解析,并使用Table组件将解析出来的数据展示在前端页面上

    随着互联网的发展和社会的进步,各个行业的数据量越来越大,对于数据的处理变得越来越重要。其中,Excel表格是一种重要的数据处理工具。在前后端项目中,实现Excel表格的导入和导出功能也愈加常见。这篇文章将介绍如何使用Vue实现Excel表格数据的导入。 在开始介绍实现

    2024年02月11日
    浏览(66)
  • Java,excel大量百万数据导出优化措施,SXSSFWorkbook流式、分批次导出示例

    在导出百万级的数据时,如果不采用适当的优化措施,确实可能会造成死机和内存崩溃等问题。 为避免这些问题,可以采用以下优化措施: 分批次读取数据:将需要导出的数据分成多个批次进行读取和写入,每次读取部分数据,写入 Excel 后即时清除内存。这样可以避免一次

    2024年02月16日
    浏览(41)
  • Vue中如何进行数据导入与Excel导入

    Vue是一款非常流行的JavaScript框架,它提供了一套用于构建用户界面的工具和库。在Vue中,我们可以使用多种方式来导入数据,包括从服务器获取数据、从本地存储获取数据、从文件中读取数据等等。其中,Excel导入是一种非常常见的数据导入方式,它可以帮助我们快速、准确

    2024年02月11日
    浏览(43)
  • Vue中如何实现Excel导入导出

    在前面员工的添加是一个一个进行的,如果一次性添加多个员工信息,这时候就会很繁琐 因此需要我们开发一个批量导入的功能,将用户的信息存储到 excel 中然后进行批量导入 1. 分析 vue-element-admin 中的导入方案 在vue-element-admin中,大佬已经封装好了Excel的导入导出方案,我

    2023年04月14日
    浏览(51)
  • 【vue导入导出Excel】vue简单实现导出和导入复杂表头excel表格功能【纯前端版本和配合后端版本】

    前言 这是一个常用的功能,就是导入和导出excel表格 但是时常会遇到一些复杂表头的表格导出和导入 比如我这个案例里面的三层表头的表格。 网上看了下发现了一个非常简单导出和导入方法 当然这个是纯前端的版本,会出现分页不好下载的情况。所以实际工作中,导出还是

    2024年02月11日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包