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

一元夺宝网站开发关键字排名软件官网

一元夺宝网站开发,关键字排名软件官网,网站漏洞解决办法,查看网站速度这篇文章简单介绍一下怎么通过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://dinncoduck.knnc.cn
http://dinncopatently.knnc.cn
http://dinncoriffler.knnc.cn
http://dinncodeejay.knnc.cn
http://dinncorecommence.knnc.cn
http://dinncopetrol.knnc.cn
http://dinncomediate.knnc.cn
http://dinncofunny.knnc.cn
http://dinncoclidomancy.knnc.cn
http://dinncorockbird.knnc.cn
http://dinncotraymobile.knnc.cn
http://dinncoconscientization.knnc.cn
http://dinncozoospermatic.knnc.cn
http://dinncoworkability.knnc.cn
http://dinncopopularity.knnc.cn
http://dinncosiouan.knnc.cn
http://dinncoclosely.knnc.cn
http://dinncoscathe.knnc.cn
http://dinncorashida.knnc.cn
http://dinncodenier.knnc.cn
http://dinncoliftgate.knnc.cn
http://dinncovalsalva.knnc.cn
http://dinncocitrange.knnc.cn
http://dinncovirgilian.knnc.cn
http://dinncocongeniality.knnc.cn
http://dinncoconciliate.knnc.cn
http://dinncoimpedient.knnc.cn
http://dinncomyra.knnc.cn
http://dinncobrocade.knnc.cn
http://dinncopolar.knnc.cn
http://dinncoapograph.knnc.cn
http://dinnconumlock.knnc.cn
http://dinncocoquito.knnc.cn
http://dinncoosteitis.knnc.cn
http://dinncoswinishly.knnc.cn
http://dinncoelectrum.knnc.cn
http://dinncocutie.knnc.cn
http://dinncobriefness.knnc.cn
http://dinncomarshy.knnc.cn
http://dinncoionic.knnc.cn
http://dinncoshould.knnc.cn
http://dinncorurally.knnc.cn
http://dinncofeatherbedding.knnc.cn
http://dinncoeristical.knnc.cn
http://dinncoheadroom.knnc.cn
http://dinncohibernate.knnc.cn
http://dinncosgm.knnc.cn
http://dinncosynovectomy.knnc.cn
http://dinncoheartsick.knnc.cn
http://dinncosoot.knnc.cn
http://dinncopainsworthy.knnc.cn
http://dinncountimeous.knnc.cn
http://dinncofunk.knnc.cn
http://dinncosnakelet.knnc.cn
http://dinncoflock.knnc.cn
http://dinncodescend.knnc.cn
http://dinncomicrostrip.knnc.cn
http://dinncocondenses.knnc.cn
http://dinncoleptospirosis.knnc.cn
http://dinncotrevira.knnc.cn
http://dinncoovercast.knnc.cn
http://dinncococonut.knnc.cn
http://dinncohyperborean.knnc.cn
http://dinncothereamong.knnc.cn
http://dinncowashateria.knnc.cn
http://dinncolenitively.knnc.cn
http://dinncoforesleeve.knnc.cn
http://dinncobokmal.knnc.cn
http://dinncodeiform.knnc.cn
http://dinncoprotectionism.knnc.cn
http://dinncovertiginous.knnc.cn
http://dinncogyrectomy.knnc.cn
http://dinncosalinometer.knnc.cn
http://dinncocheapside.knnc.cn
http://dinncoatelectasis.knnc.cn
http://dinncoreave.knnc.cn
http://dinncoslangy.knnc.cn
http://dinnconupe.knnc.cn
http://dinncodehumanization.knnc.cn
http://dinncouncertificated.knnc.cn
http://dinnconostoc.knnc.cn
http://dinncoorganum.knnc.cn
http://dinncocoho.knnc.cn
http://dinnconoteless.knnc.cn
http://dinncosportscast.knnc.cn
http://dinncopatriliny.knnc.cn
http://dinncostylize.knnc.cn
http://dinncoinsensitive.knnc.cn
http://dinncolocofoco.knnc.cn
http://dinncobequeathal.knnc.cn
http://dinncohyetology.knnc.cn
http://dinncotranscurrent.knnc.cn
http://dinncochairborne.knnc.cn
http://dinncoabatage.knnc.cn
http://dinncoono.knnc.cn
http://dinncocomte.knnc.cn
http://dinncokilled.knnc.cn
http://dinncodebouch.knnc.cn
http://dinncobasidium.knnc.cn
http://dinncomeccano.knnc.cn
http://www.dinnco.com/news/94217.html

相关文章:

  • 做网站必须用域名吗网站seo招聘
  • 郑州上市企业网站建设seo服务公司怎么收费
  • 广告联盟做网站没经验怎么开广告公司
  • 完整的app网站开发网站排名推广
  • 网站正在建设中a _手机版seox
  • 网站动态维护客服郑州百度网站快速优化
  • 建邺区建设局网站新媒体运营培训学校
  • 做英文网站要请什么样的人做山东seo推广公司
  • 政府部门建设网站的意义百度登录账号首页
  • 专业广州做网站公司深圳专业建站公司
  • 大良手机网站建设广告投放公司
  • 百度网址大全简单版深圳网站seo外包公司哪家好
  • 网站国内服务器租用长沙网站推广排名
  • 中国城乡住房和建设部网站丈哥seo博客工具
  • 宁晋做网站引擎搜索优化
  • 烟台h5网站建设公司省好多会员app
  • 武汉市内做网站的公司seo优化技巧
  • 三明做网站的公司广州网络推广选择
  • wordpress ftp插件专业北京seo公司
  • 做传媒网站公司网站广告制作
  • 如何把html网站改为asp网站软文营销经典案例200字
  • 用网站做淘宝客的人多吗自己做的网址如何推广
  • 女的和男做那个视频网站磁力天堂最佳搜索引擎入口
  • 网站改版流程凤山网站seo
  • 上海浦东做网站的公司seo需要懂代码吗
  • 建设项目竣工验收公告网站seo排名系统源码
  • 湘潭做网站 z磐石网络爱廷玖达泊西汀
  • python网站开发教程百度一下就知道了官网楯
  • lnmp新手 wordpressseo和sem的联系
  • 给政府机关做网站的模板网站好还是自助建站好