摘要:本文由葡萄城技术团队于原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。

前语

Spring Boot是由Pivotal团队提供的全新结构,其设计目的是用来简化新Spring运用的初始建立以及开发过程。该结构运用了特定的办法来进行装备,从而使开发人员不再需要定义样板化的装备。今天咱们就运用纯前对按表格控件带大家了解,如何在Spring Boot结构下完成Excel服务端导入导出。

Spring Boot框架下实现Excel导入导出

1.IDEA创立SpringBoot项目

1.1 Spring Initializr

想要在IDEA下快速建立一个SpringBoot项目,能够运用Spring Initializr工具作为脚手架。

进入IDEA后,在左侧菜单中能够找到Plugins,点击后,在上方的查找框中输入Spring Initializr。

之后点击右上角的绿色Install按钮进行安装。

Spring Boot框架下实现Excel导入导出

安装结束后,在New Project 的时候就会多一个Spring Initializr的选项。

Spring Boot框架下实现Excel导入导出

1.2 SpringBoot 项目的创立

Project SDK:依据实践运用情况挑选用于装备项目所依靠的Java SDK。

Choose Spring Initializr Server:挑选一个Spring Initializr服务器,一般来说都挑选默认的。

Spring Boot框架下实现Excel导入导出

GroupId:一般分为多个段,榜首段为域,第二段为公司称号。例如:org.apache,com.grapecity。

ArtifactId:是项目的唯一标识符,在实践开发中一般对应项目的称号,便是项目根目录的称号。

Group Id,Artfact Id是确保项目唯一性的标识,一般来说假如项目打包上传至maven这样的包办理仓库中。在查找你的项目时,Group Id,Artfact Id是必要的条件。

Version:版别号,默认0.0.1-SNAPSHOT。SNAPSHOT代表不稳定的版别,与之相对的有RELEASE。

Project type:工程的类型,maven工程仍是gradle工程。

Language:言语(Java,Kotlin,Groovy)。

Packaging:Jar包仍是War包。

Java version:语法版别,与Project SDK不同,Project SDK是实践用到的JDK。Java version指的是语法版别。一般来说言语特性不能比SDK高。比如SDK版别是11,语法挑选8。那么实践项目中只能运用java 8的语法。反之SDK版别是8,语法选11就有问题了。一般情况下都会与SDK保持一致。

Project name:项目称号

Project description:项目描绘

Package name:包名

Spring Boot框架下实现Excel导入导出

Spring Boot框架下实现Excel导入导出

第三部分依据项目的实践需求去装备。

Spring Boot框架下实现Excel导入导出

第四部分:

设置项目称号与途径。

Spring Boot框架下实现Excel导入导出

2.前端装备

考虑到导入导出功能需要对Excel具有较高的还原度,这里运用了SpreadJS组件,经过SpreadJS组件的ExcelIO功能,进行Excel的导入与导出。SpreadJS是一款纯前端的组件,与后端彻底解耦,能够完美的整合到SpringBoot工程中。

2.1 前端页面创立

在static目录下建立index.html文件,用来制作前端页面。假如用了thymeleaf也能够将文件建立在templates目录中。

Spring Boot框架下实现Excel导入导出

2.1 SpreadJS组件引进和初始化

在header中引进SpreadJS相关的css与js引用。

Spring Boot框架下实现Excel导入导出

创立SpreadJS对应的DOM目标。

在JS中初始化SpreadJS和导入导出Excel相关的ExcelIO目标。

Spring Boot框架下实现Excel导入导出

经过按钮点击进行服务端导入与导出。

Spring Boot框架下实现Excel导入导出

导入导出事情处理,在事情中发送恳求与服务端进行衔接。

导入原理:

将服务端的文件以文件流的方式传输至前端,前端经过ExcelIO将结果导入结果呈现值SpreadJS中,所以导入的传递的参数是一个文件途径。留意该途径是文件在服务端或许工程中的一个途径。

Spring Boot框架下实现Excel导入导出

导出原理:

经过SpreadJS ExcelIO的功能将内容导出成Excel的blob流。之后将blob撒播至服务器端,在服务器端进行保存Excel文件的操作。

Spring Boot框架下实现Excel导入导出

3.后端装备

创立后端controller,可按照自身项目的包的层级分类进行创立。

Spring Boot框架下实现Excel导入导出

构建服务端的导入导出办法和相关逻辑。

服务器端导入:

由于前端传入的是一个文件的途径,所以参数这里咱们需要一个字符串类型的参数去接收。

另外,咱们会将撒播到前端,所以会将流写到response中,所以参数中还需要response目标,办法自身不需要回来,回来空即可。原理是经过inputStream读取文件后,将其写入response的outputStream中。

Spring Boot框架下实现Excel导入导出

导出到服务器:

由于前端传入传入的是保存文件的称号以及文件blob文件流。服务器端需要两个参数,String用来接收文件称号,MultipartFile目标用来接收blob文件流。后端接受到文件流之后经过transferTo办法在指定目录下根军传来的fileName转存成新的文件。

Spring Boot框架下实现Excel导入导出

4.测试运行

将工程跑起来之后进入主页面,显现如下:

Spring Boot框架下实现Excel导入导出

点击服务端导入按钮,从服务器端下载指定的Excel文件并翻开。

Spring Boot框架下实现Excel导入导出

对该文件进行操作修正并点击服务端导出的按钮。

Spring Boot框架下实现Excel导入导出

之后咱们去服务器端的导出途径下检查,发下文件存在,用Excel翻开文件后发现,修正后的内容健在而且其他内容显现均无问题。

Spring Boot框架下实现Excel导入导出

到这里咱们就完成了Spring Boot结构下完成Excel服务端导入导出。

拓展阅读

React + Springboot + Quartz,从0完成Excel报表自动化

电子表格也能做购物车?简单三步就能完成

运用纯前端类Excel表格控件SpreadJS构建企业现金流量表