当前位置 博文首页 > Jqcode:java导出EXCEL表格—实战篇
做过后台管理系统的小伙伴基本都做过这个功能——导出EXCEL表格。
今天写篇文章,一旨在加深自己记忆,二给未做过此功能的小伙伴提供教程。
本文内容包含:实战教程+工具类(工具类下载地址在文末)
声明本文的业务场景:导出在bootstraptable中选中的数据至CSV文件。
<button type="button" class="layui-btn" id="export2">导出CSV文件</button>
function bindButton2(){
//导出EXCEL(已发布数据)
$("#export2").click(function (){
var rows = $('#exampleTable2').bootstrapTable('getSelections'); // 返回所有选择的行,当没有选择的记录时,返回一个空数组
var ids = new Array();
// 遍历所有选择的行数据,取每条数据对应的ID
$.each(rows, function(i, row) {
ids[i] = row['id'];
});
console.log("开始发起请求...");
var url ="这里请填写自己业务的接口路径";
var data = {
ids:ids
};
DownLoad({
url:url,data:data
});
});
}
function DownLoad(options) {
var config = $.extend(true, { method: 'post' }, options);
var $iframe = $('<iframe id="down-file-iframe" />');
var $form = $('<form target="down-file-iframe" method="' + config.method + '" />');
$form.attr('action', config.url);
for (var key in config.data) {
$form.append('<input type="hidden" name="' + key + '" value="' + config.data[key] + '" />');
}
$iframe.append($form);
$(document.body).append($iframe);
$form[0].submit();
$iframe.remove();
}
java后台关键部分代码
@RequestMapping(path = "/export2", method = RequestMethod.POST)
@ResponseBody
R export2(@RequestParam("ids")int[] ids,HttpServletRequest httpServletRequest, HttpServletResponse response) throws IOException{
Long time = new Date().getTime();
String title = "已发布数据" + ShiroUtils.getUser().getUsername() + "_" + time;
String[] headers = { "日期", "游戏名称", ......};
List<FlowApproveDataDO> exportData = dataReleaseService.listInfoByIds2(ids);//关键数据
ExportExcel<FlowApproveDataDO> excel = new ExportExcel<FlowApproveDataDO>();
String fileName = title + ".csv";//导出文件的名称并且加个格式
OutputStream out = response.getOutputStream();
try {
response.setContentType("octets/stream");
response.addHeader("Content-Disposition",
"attachment;filename=" + new String(fileName.getBytes("gb2312"), "iso8859-1"));
excel.exportExcel("已发布数据", headers, exportData, out, "yyyy-MM-dd");
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
附工具类:点我下载
cs