低价网站建设咨询福州网站建设 网站设计 网站制作
news/
2025/10/3 23:00:29/
文章来源:
低价网站建设咨询,福州网站建设 网站设计 网站制作,大学生创新创业大赛负责人简介,学习网站建设多少钱这篇文章简单介绍一下怎么通过easyexcel做数据的导出#xff0c;使用之前easyui构建的歌曲列表crud应用#xff0c;添加一个导出按钮#xff0c;点击的时候直接连接后端接口地址#xff0c;在后端的接口完成数据的导出功能。 前端页面完整代码
let editingId;
let request… 这篇文章简单介绍一下怎么通过easyexcel做数据的导出使用之前easyui构建的歌曲列表crud应用添加一个导出按钮点击的时候直接连接后端接口地址在后端的接口完成数据的导出功能。 前端页面完整代码
let editingId;
let requestUrl;
let base http://localhost:8083;
let pageList [20, 50, 100, 500, 1000];// 定义一个json对象保存歌曲数据
let data {};function addHandler() {requestUrl /song/insert;$.post(base requestUrl, {name: *****,singer: *****,note: *****}, function () {$(#song_list).datagrid(reload);}, json);
}function editHandler() {let datagrid $(#song_list);let row datagrid.datagrid(getSelected);if (editingId ! null editingId ! ) {datagrid.datagrid(selectRow, editingId);} else {if (row) {// 获取行索引这个索引从0开始let rowIndex datagrid.datagrid(getRowIndex, row);editingId rowIndex;requestUrl /song/updateById;datagrid.datagrid(beginEdit, rowIndex);}}
}function saveHandler() {if (editingId) {// 只有结束编辑才能获取到最新的值$(#song_list).datagrid(endEdit, editingId);$.post(base requestUrl, data, function (res) {$.messager.show({title: 系统消息,timeout: 5000,showType: slide,msg: res.message,});editingId ;}, json);}
}function cancelHandler() {// editingId ! null条件防止刷新页面带来的问题if (editingId ! null editingId ! ) {$(#song_list).datagrid(cancelEdit, editingId);editingId ;}
}function exportHandler() {location.href base /song/export;
}function deleteHandler() {let rowData $(#song_list).datagrid(getSelected);if (rowData) {$.messager.confirm(提示, 删除后数据无法恢复是否确认删除, function(bool) {if (bool) {$.get(base /song/deleteById/ rowData.id, {}, function(res) {$.messager.show({title: 系统消息,timeout: 5000,showType: slide,msg: res.message,});$(#song_list).datagrid(reload);}, json);}});} else {$.messager.alert(请选择要删除的数据, warning);}
}$(document).ready(function() {let datagrid $(#song_list).datagrid({url: base /song/selectByPage,title: 歌曲列表,height: 810,striped: true,fitColumns: true,singleSelect: true,pagination: true,remoteFilter: true,clientPaging: false,pageSize: pageList[0],pageList: pageList,loadFilter: function(res) {if (res.code 200) {return res.data;} else {return null;}},onAfterEdit: function (rowIndex, rowData, changes) { // 结束行内编辑事件data {id: rowData.id,name: changes.name ? changes.name : rowData.name,note: changes.note ? changes.note : rowData.note,singer: changes.singer ? changes.singer : rowData.singer};},toolbar: [{iconCls: icon-add,text: 添加,handler: function() {addHandler();}}, -, {iconCls: icon-edit,text: 修改,handler: function() {editHandler();},}, -, {iconCls: icon-save,text: 保存,handler: function() {saveHandler();}}, -, {iconCls: icon-cancel,text: 取消,handler: function() {cancelHandler();}}, -, {iconCls: icon-ok,text: 导出,handler: function() {exportHandler();}}, -, {iconCls: icon-delete,text: 删除,handler: function() {deleteHandler();},}],columns: [[{field: id, title: id, width: 200},{field: name, title: name, width: 200, editor: textbox},{field: singer, title: singer, width: 200, editor: textbox},{field: note, title: note, width: 200, editor: textbox},{field: lastUpdateTime, title: lastUpdateTime, width: 200},]]});datagrid.datagrid(enableFilter, [{field: name,type: textbox,op: [equal, contains]}, {field: singer,type: textbox,op: [equal, contains],}, {field: note,type: textbox,op: [equal, contains]}]);}); 添加依赖
dependencygroupIdcom.alibaba/groupIdartifactIdeasyexcel/artifactIdversion3.3.2/version
/dependency 修改实体类添加列注解
package com.example.springboot.entity;import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;import java.io.Serializable;
import java.time.LocalDateTime;/*** 歌曲* author heyunlin* version 1.0*/
Data
TableName(song)
public class Song implements Serializable {private static final long serialVersionUID 18L;ExcelIgnoreTableId(type IdType.INPUT)private String id;/*** 歌曲名*/ExcelProperty(歌曲名)private String name;/*** 歌手*/ExcelProperty(歌手)private String singer;/*** 描述信息*/ExcelProperty(描述信息)private String note;/*** 最后一次修改时间*/TableField(last_update_time)ExcelProperty(最后一次修改时间)JsonFormat(pattern yyyy-MM-dd HH:mm:ss, timezone GMT8)private LocalDateTime lastUpdateTime;
} 参考官网的案例代码完成后端controller接口具体代码实现
package com.example.springboot.service.impl;import com.alibaba.excel.EasyExcel;
import com.example.springboot.entity.Song;
import com.example.springboot.mapper.SongMapper;
import com.example.springboot.restful.JsonResult;
import com.example.springboot.service.SongService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;/*** author heyunlin* version 1.0*/
Service
public class SongServiceImpl implements SongService {private final SongMapper songMapper;Autowiredpublic SongServiceImpl(SongMapper songMapper) {this.songMapper songMapper;}// 其他代码...Overridepublic void export(HttpServletResponse response) {String fileName song.xlsx;response.setCharacterEncoding(utf-8);response.setHeader(Content-disposition, attachment;filename fileName);response.setContentType(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet);try {ListSong songs songMapper.selectList(null);EasyExcel.write(response.getOutputStream(), Song.class).sheet(歌曲列表).doWrite(songs);} catch (Exception e) {e.printStackTrace();response.reset();response.setContentType(application/json;charsetutf-8);JsonResultVoid jsonResult JsonResult.success(数据导出异常);try {response.getWriter().write(jsonResult.toString());} catch (IOException ioException) {ioException.printStackTrace();}}}} 代码已经同步到后端项目的springbooot-crud1.0分支可按需获取~
springbootmybatis实现简单的增删查改案例项目https://gitee.com/he-yunlin/springboot-crud.git
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/926416.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!