返回顶部
首页 > 资讯 > 后端开发 > Python >Springboot与vue实现数据导出方法具体介绍
  • 205
分享到

Springboot与vue实现数据导出方法具体介绍

Springboot数据导出Vue数据导出 2023-02-09 09:02:38 205人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录前言一、需求二、SpringBoot进行数据导出1.Java后端代码2.Vue前端代码3.其他几种Java后端导出方法提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前言

这两天在项目中使用到Java的导入导出功能,以前对这块有一定了解,但是没有系统学习过,今天在这里进行记录,方便以后查阅。

一、需求

项目的需求是将项目中的JSON实体数据导出为.json文件,导出的文件,可以作为元数据导入进行实体初始化。项目不是使用普通的springboot框架(普通的springboot框架很容易完成),因此走了一些弯路,在这篇文章中,将先讲解使用springboot框架进行导出,然后再讲解非springboot框架的导出。

二、Springboot进行数据导出

1.Java后端代码

@RequestMapping("/download")
public void download(String path, httpservletResponse response) {
	// 固定写法
	response.setContentType("application/OCTET-STREAM;charset=UTF-8");
	response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(filename, "UTF-8"));
	File file = new File(path);
	try {
	    InputStream fis = new FileInputStream(file);
	    OutputStream out = new BufferedOutputStream(response.getOutputStream());
	    byte[] buffer = new byte[1024];
	    int len;
	    while ((len = fis.read(buffer)) != -1) {
	        out.write(buffer, 0, len);
	        out.flush();
	    }
	} catch (Exception e) {
		throw new RuntimeException(e);
	}
}

导出操作时,返回值类型必须为void,由于项目有指定的返回格式(返回值类型不能为void),导致类型不匹配报错,在新写了处理方法之后,解决了这个问题。 这里使用了BufferedOutputStream,能加快导出速度。不用BufferedOutputStream,只使用response.getOutputStream()也是可以的。此外,这里使用了循环写入输出流中,而不是一次写入。

2.Vue前端代码

    handleExport(row) {
      const id = row.id || this.ids
      const name = row.name || this.names[0]
      const code = row.code || this.codes
      const params = {
        exportCodes: JSON.stringify(code)
      }
      this.download('/Thingmax/Things/Export',  params,  name + '.json')
    },

download方法第一个参数是导出方法的响应路由,第二个参数为导出时携带的参数,第三个参数为导出的文件名称。

3.其他几种Java后端导出方法

1、使用BufferedOutputStream,一次性写入

exportEntities.put("Entities", entities);
String content = exportEntities.toJSONString();
try {
	BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
	out.write(content.getBytes(StandardCharsets.UTF_8));
	out.flush();
	out.close();
} catch (Exception e) {
     throw new RuntimeException(e);
 }

一次性将数据读取到内存,通过响应输出流输出到前端

2、不使用BufferedOutputStream,循环写入

InputStream inputStream = new FileInputStream(path);
ServletOutputStream outputStream = response.getOutputStream();
   byte[] b = new byte[1024];
   int len;
   //从输入流中读取一定数量的字节,并将其存储在缓冲区字节数组中,读到末尾返回-1
   while ((len = inputStream.read(b)) > 0) {
       outputStream.write(b, 0, len);
   }

到此这篇关于Springboot与vue实现数据导出方法具体介绍的文章就介绍到这了,更多相关Springboot数据导出内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Springboot与vue实现数据导出方法具体介绍

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

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

猜你喜欢
  • Springboot与vue实现数据导出方法具体介绍
    目录前言一、需求二、Springboot进行数据导出1.Java后端代码2.Vue前端代码3.其他几种Java后端导出方法提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助...
    99+
    2023-02-09
    Springboot数据导出 Vue数据导出
  • Springboot与vue实现文件导入方法具体介绍
    目录一、Java后端使用MultipartFile二、Java后端直接从request中读取并转换为字符串三、Java后端直接从request中读取并存入本地文件四、前端使用el-u...
    99+
    2023-02-07
    Springboot文件导入 Springboot导入文件
  • MySQL数据导入和导出的方法与工具介绍
    这篇文章主要介绍“MySQL数据导入和导出的方法与工具介绍”,在日常操作中,相信很多人在MySQL数据导入和导出的方法与工具介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • Mysql导出导入数据的方法介绍
    这篇文章主要介绍“Mysql导出导入数据的方法介绍”,在日常操作中,相信很多人在Mysql导出导入数据的方法介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql导出导...
    99+
    2024-04-02
  • SpringBoot+Vue实现EasyPOI导入导出的方法详解
    目录前言一、为什么做导入导出二、什么是 EasyPOI三、项目简介项目需求效果图开发环境四、实战开发 核心源码前端页面后端核心实现五、项目源码小结前言 Hello~ ,前后端分离系列...
    99+
    2024-04-02
  • MySQL数据库结构和数据的导出和导入方法介绍
    这篇文章主要讲解了“MySQL数据库结构和数据的导出和导入方法介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库结构和数据的导出和导入方法介...
    99+
    2024-04-02
  • 阿里云ECS监控数据导出方法介绍
    本文将详细介绍如何在阿里云ECS实例上导出监控数据,包括所需工具、步骤和注意事项,帮助您更好地理解和管理您的ECS实例。 详细说明:一、所需工具阿里云ECS实例提供了多种监控数据的获取和导出方式,本文将重点介绍一种常用的方法:使用Prome...
    99+
    2024-01-25
    阿里 方法 数据
  • AndroidSharePreferences与数据库SQLite存储实现方法介绍
    目录Android数据存储几种方式一、共享参数二、数据库SQLite1、数据定义语言(DDL)(1)创建表格(2)删除表格(3)修改表结构2、数据操纵语言(DML)(1)添加记录(2...
    99+
    2024-04-02
  • Springboot实现导入导出Excel的方法
    目录一、添加poi的maven依赖二、自定义注解(Excel属性标题、位置等)三、CustomExcelUtils编写四、定义导出实体类五、Controller层代码编写一、添加po...
    99+
    2024-04-02
  • ReactHooks获取数据实现方法介绍
    目录前言useStateuseEffect获取数据前言 react16.8推出hooks更好的支持函数组件,使用函数组件更容易进行代码的复用,拓展性更强。 useState useS...
    99+
    2022-11-13
    React Hooks React Hooks获取数据
  • SpringBoot整合EasyExcel实现导入导出数据
    目录前言1.前端2.数据库3.后端3.1 contrller3.2 mapper3.3 bean3.4 listener3.5 config3.6 配置文件4.启动测试前言...
    99+
    2024-04-02
  • SpringBoot+easypoi实现数据的Excel导出
    本文实例为大家分享了SpringBoot+easypoi实现数据的Excel导出的具体代码,供大家参考,具体内容如下 maven <dependency> ...
    99+
    2024-04-02
  • Mybatis中实体类属性与数据列表间映射方法介绍
    Mybatis不像Hibernate中那么自动化,通过@Column注解或者直接使用实体类的属性名作为数据列名,而是需要自己指定实体类属性和 数据表中列名之间的映射关系,这一点让用惯了Hibernate的人很不习惯,所幸经过探索找到了建立映...
    99+
    2023-05-30
    mybatis 映射实体类 batis
  • Vue实现数据导出导入实战案例
    目录前言1、创建一个空白的vue2/vue3项目2、创建Export.vue 示例文件总结前言 项目开发当中,列表数据的导出功能基本是每个业务系统必备的功能、另外Excel数据批量导...
    99+
    2023-01-09
    vue实现导入导出 vue文件导入导出 vue怎么导出
  • vue实现导出Word文件(数据流方式)
    目录第一步:安装依赖:jquery 和file-saver第二步:新增jquery.wordexport.js第三步:组件使用vue导出Word文件(模板方式)vue导出word文档...
    99+
    2024-04-02
  • 金融数据分析与挖掘具体实现方法 -1
    有人让我写一下关于数据挖掘在金融方面的应用,再加上现在金融对数据方面的要求不断提高,准备用两篇随笔来做个入门总结。 首先,在看这篇随笔以前稍微补充一点金融方面的知识,因为我不是金融专业的,以下补充知识来自互联网与个人整理,欢迎批评指正并补...
    99+
    2023-01-30
    金融 方法 数据
  • MySQL表数据的导入与导出方法
    本篇内容介绍了“MySQL表数据的导入与导出方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! LOAD...
    99+
    2024-04-02
  • oracle数据库导入TXT文件方法介绍
    客户端连接数据库导入 安装有oracle客户端,配好监听。 以oracle数据库app用户的表user_svc_info为例<span >CREATE TABLE USER_SVC_INFO( PHONE varcha...
    99+
    2023-05-31
    oracle 数据库 txt文件
  • C++异步数据交换实现方法介绍
    异步数据交换,除了阻塞函数 send() 和 recv() 之外,Boost.MPI 还支持与成员函数 isend() 和 irecv() 的异步数据交换。名称以 i 开头,表示函数...
    99+
    2022-11-21
    C++异步数据交换 C++数据交换
  • SpringBoot异常错误页面实现方法介绍
    目录导言实现步骤加入thymeleaf依赖然后创建controller使用X进行模糊匹配统一错误页面显示导言 默认情况下,SpringBoot 项目错误页面如下: 直接这样太丑了...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作