SpringBoot实现前端ajax传值到后台并导入Excel

这篇博客介绍了如何在SpringBoot应用中,通过ajax从前端传递Excel文件到后台,并进行处理。首先,文章讲解了引入Maven poi 相关依赖,然后详细阐述了前端ajax的实现步骤,最后展示了Controller层的代码实现。
摘要由CSDN通过智能技术生成

java实现poi导出到Excel(前端ajax/后台springboot)

链接: 读取本地Excel文件并追加图片/文字.

前言:

Bootstrap虽然有自带的导入excel插件。自身感觉限制较大,不太灵活,所以还是使用后端poi来实现,ajax请求只是个“字符型”的请求,请求的内容是以文本类型存放的。文件的下载是以二进制形式进行的,ajax没法解析后台返回的文件流,所以无法处理二进制流response输出来下载文件。所以自己使用ajax的时候遇到一些问题。解决后以下是具体实现

第一步引入maven依赖

<!-- excel导出工具 -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.17</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.17</version>
</dependency>
<dependency>
    <groupId>com.monitorjbl</groupId>
    <artifactId>xlsx-streamer</artifactId>
    <version>1.2.0</version>
</dependency>

第二步 前端代码实现

// An highlighted block
$(function () {
   
    /*  var medalName=  $("#medalName").val()*/
    var option = {
   
        url: "", // 获取表格数据的url
        cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
        striped: true,  //表格显示条纹,默认为false
        pagination: true, // 在表格底部显示分页组件,默认false
        pageList: [5,10,15, 20], // 设置页面可以显示的数据条数
        pageSize: 5, // 页面数据条数
        pageNumber: 1, // 首页页码
        sidePagination: 'client', // 设置为服务器端分页server//client
        sortName: 'id', // 要排序的字段
        sortOrder: 'asc', // 排序规则
        clickToSelect: true,
        queryParams:function(param){
   
            return{
   
                oNumber:$("#oNumber").val(),
                defaddress:$("#defaddress").val(),
                oTime:$("#startTime").val(),
                fTime:$("#stopTime").val(),
                oType:$("#oType").val(),
                oDistribution:$("#oDistribution").val(),
                /*oDistribution:$("#roleId").val()*/
            }},
        columns:[
            {
   
                checkbox: true, // 显示一个勾选框
                align: 'center' // 居中显示
            }, {
   
                field: 'id', // 返回json数据中的name
                title: '序号', // 表格表头显示文字
                formatter:function (value,row,index) {
   
                    return index+1;
                }
            }, {
   
                field: 'oNumber',
                title: '订单号'

            },{
   
                field: 'defaddress',
                title: '详细地址'
            },{
   
                field: 'uName'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值