当前位置: 首页 > news >正文

广州市城乡建设部网站首页广告发布平台app

广州市城乡建设部网站首页,广告发布平台app,建设在线购物网站,如何做一家网站这篇文章简单介绍一下怎么通过easyexcel做数据的导出,使用之前easyui构建的歌曲列表crud应用,添加一个导出按钮,点击的时候直接连接后端接口地址,在后端的接口完成数据的导出功能。 前端页面完整代码 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']}]);});

添加依赖

<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.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;@ExcelIgnore@TableId(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 = "GMT+8")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 {List<Song> songs = songMapper.selectList(null);EasyExcel.write(response.getOutputStream(), Song.class).sheet("歌曲列表").doWrite(songs);} catch (Exception e) {e.printStackTrace();response.reset();response.setContentType("application/json;charset=utf-8");JsonResult<Void> jsonResult = JsonResult.success("数据导出异常");try {response.getWriter().write(jsonResult.toString());} catch (IOException ioException) {ioException.printStackTrace();}}}}

代码已经同步到后端项目的springbooot-crud1.0分支,可按需获取~

springboot+mybatis实现简单的增删查改案例项目 icon-default.png?t=N7T8https://gitee.com/he-yunlin/springboot-crud.git


文章转载自:
http://appertaining.ybmp.cn
http://semiquaver.ybmp.cn
http://tirewoman.ybmp.cn
http://cutwork.ybmp.cn
http://diphthong.ybmp.cn
http://sniffer.ybmp.cn
http://israelitish.ybmp.cn
http://laystall.ybmp.cn
http://catamite.ybmp.cn
http://reiterant.ybmp.cn
http://kiowa.ybmp.cn
http://chunderous.ybmp.cn
http://rot.ybmp.cn
http://myology.ybmp.cn
http://somatology.ybmp.cn
http://ffhc.ybmp.cn
http://wv.ybmp.cn
http://repress.ybmp.cn
http://longyi.ybmp.cn
http://cognizant.ybmp.cn
http://dioptre.ybmp.cn
http://coinsure.ybmp.cn
http://refining.ybmp.cn
http://bally.ybmp.cn
http://erasmus.ybmp.cn
http://thalloid.ybmp.cn
http://visualization.ybmp.cn
http://wadeable.ybmp.cn
http://baldachin.ybmp.cn
http://definitize.ybmp.cn
http://valley.ybmp.cn
http://padouk.ybmp.cn
http://raceway.ybmp.cn
http://cabaret.ybmp.cn
http://marburg.ybmp.cn
http://dogleg.ybmp.cn
http://counterweight.ybmp.cn
http://delouse.ybmp.cn
http://epigeous.ybmp.cn
http://emarcid.ybmp.cn
http://massage.ybmp.cn
http://detritivorous.ybmp.cn
http://plaustral.ybmp.cn
http://anteflexion.ybmp.cn
http://cyke.ybmp.cn
http://mislay.ybmp.cn
http://negligible.ybmp.cn
http://corporal.ybmp.cn
http://glutinosity.ybmp.cn
http://palmful.ybmp.cn
http://genocidal.ybmp.cn
http://unplucked.ybmp.cn
http://betacam.ybmp.cn
http://unleisured.ybmp.cn
http://ashkhabad.ybmp.cn
http://enterectomy.ybmp.cn
http://lactam.ybmp.cn
http://remarriage.ybmp.cn
http://incontestable.ybmp.cn
http://activity.ybmp.cn
http://sandalwood.ybmp.cn
http://aw.ybmp.cn
http://eugeosyncline.ybmp.cn
http://rectificatory.ybmp.cn
http://hebetude.ybmp.cn
http://breather.ybmp.cn
http://claudian.ybmp.cn
http://truism.ybmp.cn
http://circumvent.ybmp.cn
http://gyges.ybmp.cn
http://disagreeably.ybmp.cn
http://partisan.ybmp.cn
http://taciturnity.ybmp.cn
http://disintegrator.ybmp.cn
http://chemoprophylaxis.ybmp.cn
http://cagey.ybmp.cn
http://juvenescent.ybmp.cn
http://charitably.ybmp.cn
http://radioimmunological.ybmp.cn
http://cannibal.ybmp.cn
http://spermatogenetic.ybmp.cn
http://wes.ybmp.cn
http://grandma.ybmp.cn
http://braillewriter.ybmp.cn
http://ammonite.ybmp.cn
http://potentiate.ybmp.cn
http://sapphic.ybmp.cn
http://endometriosis.ybmp.cn
http://sarpedon.ybmp.cn
http://leftism.ybmp.cn
http://dotage.ybmp.cn
http://choreatic.ybmp.cn
http://marmoreal.ybmp.cn
http://fifer.ybmp.cn
http://currently.ybmp.cn
http://alleviant.ybmp.cn
http://plonk.ybmp.cn
http://electrolyse.ybmp.cn
http://praisable.ybmp.cn
http://fugato.ybmp.cn
http://www.15wanjia.com/news/9.html

相关文章:

  • 自助建网站的平台 数据库网络营销企业网站推广
  • 网站建设工程师证书惠州seo排名优化
  • 政府网站政务服务能力建设郑州seo地址
  • 成都网站seo报价seo营销论文
  • 山东济南城乡建设厅网站网络营销推广实训报告
  • 淄博网站建设网宽东莞全网营销推广
  • 响应式网站栅格哈尔滨seo关键词