**[easyUI:在js里面模拟form表单导出excle功能:含前后台代码]**

本文详细介绍了如何使用JavaScript模拟表单提交来导出数据为Excel文件,并展示了Java后端处理导出请求的具体实现,包括数据查询、Excel文件生成及下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

页面:
中的导出按钮:
class=“easyui-linkbutton” data-options=“iconCls:‘icon-search’”>导出

js中模拟form表单提交:
var ModelAbnormity = {
ExporterExcel : function(){
//导出
var stu = $(’#consultationState’).combobox(‘getValue’);
var url = ‘/rtoc/abnormity/dispose/exporterAbnormityList’;
//组装form
var cnpc_form = $("");
cnpc_form.attr(‘style’, ‘display:none’);
cnpc_form.attr(‘method’, ‘post’);
//生成input框传参数:
var input1 = $(’’);
input1.attr(‘name’, ‘consultationState’);
input1.attr(‘value’, stu );
//给form表单添加action路径:
cnpc_form.attr(‘action’, url);
cnpc_form.append(input1);

$(‘body’).append(cnpc_form);
//form表单提交
cnpc_form.submit();
cnpc_form.remove();
}
}

后台:
controller:
@RequestMapping(value = “/rtoc/abnormity/dispose/exporterAbnormityList”)
@ResponseBody
public void exporterAbnormityList(@RequestBody Map map,User user,
HttpServletRequest request,HttpServletResponse response) throws Exception{
HSSFWorkbook workbook = service.queryAbnormityListExport(map, user);
response.addHeader(“Content-Disposition”, “attachment;filename=AbnormityInfo.xls”);
response.setContentType(“application/json;charset=utf-8”);
ServletOutputStream out = null;
try {
out = response.getOutputStream();
workbook.write(out);
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(out!=null){
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

service实现层:
@Override
public HSSFWorkbook queryAbnormityListExport(Map params) throws Exception {
//查询导出的数据
List> list = queryDao.queryAll(“AbnormityDisposeMapper”);
//生成excle表格的方法
HSSFWorkbook exprotAsExcel = exprotAsExcel(list);
return exprotAsExcel;
}

exprotAsExcel(list)方法代码:
private HSSFWorkbook exprotAsExcel(List> list){
//导出样式
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFCellStyle cellStyle = workbook.createCellStyle();
HSSFCellStyle cellStyle2 = workbook.createCellStyle();
//设置字体
HSSFFont font = workbook.createFont();
HSSFFont font2 = workbook.createFont();
font.setFontHeightInPoints((short)10);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //字体加粗
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 左右居中
cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 上下居中
cellStyle.setFont(font); //设置字体
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND );
cellStyle.setFillForegroundColor(HSSFColor.YELLOW.index); //设置背景色
//边框填充
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
//设置单元格样式居中
cellStyle2.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 左右居中
cellStyle2.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 上下居中
font2.setFontHeightInPoints((short)10);
cellStyle2.setFont(font2);
cellStyle2.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle2.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle2.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle2.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
//创建sheet页
HSSFSheet sheet = workbook.createSheet(“人工实时监测发现异常及沟通确认情况”);
sheet.setDefaultColumnWidth(16);
int index = 0; //标识表头坐标
HSSFRow row1 = sheet.createRow(index);
row1.setHeight((short)350);
index ++;
//表头信息
HSSFCell cell1 = row1.createCell(0);
HSSFCell cell2 = row1.createCell(1);
HSSFCell cell3 = row1.createCell(2);
HSSFCell cell4 = row1.createCell(3);
HSSFCell cell5 = row1.createCell(4);
HSSFCell cell6 = row1.createCell(5);
HSSFCell cell7 = row1.createCell(6);
HSSFCell cell8 = row1.createCell(7);
HSSFCell cell9 = row1.createCell(8);
//设置表头样式
cell1.setCellStyle(cellStyle);
cell2.setCellStyle(cellStyle);
cell3.setCellStyle(cellStyle);
cell4.setCellStyle(cellStyle);
cell5.setCellStyle(cellStyle);
cell6.setCellStyle(cellStyle);
cell7.setCellStyle(cellStyle);
cell8.setCellStyle(cellStyle);
cell9.setCellStyle(cellStyle);
//设置表头值
cell1.setCellValue(“序号”);
cell2.setCellValue(“日期”);
cell3.setCellValue(“时间”);
cell4.setCellValue(“井号”);
cell5.setCellValue(“系统监测结果”);
cell6.setCellValue(“人工监测结果描述”);
cell7.setCellValue(“与现场确认结果”);
cell8.setCellValue(“初步判断及预防处置措施建议”);
cell9.setCellValue(“现场回应”);
//循环灌数据
if(list != null && list.size()>0) {
for (int i = 0; i < list.size(); i++) {
row1 = sheet.createRow(i+index);
row1.setHeight((short)350);
cell1 = row1.createCell(0);
cell2 = row1.createCell(1);
cell3 = row1.createCell(2);
cell4 = row1.createCell(3);
cell5 = row1.createCell(4);
cell6 = row1.createCell(5);
cell7 = row1.createCell(6);
cell8 = row1.createCell(7);
cell9 = row1.createCell(8);
cell1.setCellStyle(cellStyle2);
cell2.setCellStyle(cellStyle2);
cell3.setCellStyle(cellStyle2);
cell4.setCellStyle(cellStyle2);
cell5.setCellStyle(cellStyle2);
cell6.setCellStyle(cellStyle2);
cell7.setCellStyle(cellStyle2);
cell8.setCellStyle(cellStyle2);
cell9.setCellStyle(cellStyle2);
cell1.setCellValue(i+1);
cell2.setCellValue((list.get(i).get(“startTime”))!=null?(list.get(i).get(“startTime”)+"").substring(0,10):"");
cell3.setCellValue((list.get(i).get(“responseTime”))!=null?(list.get(i).get(“responseTime”)+""):"");
cell4.setCellValue((list.get(i).get(“wellboreName”))!=null?(list.get(i).get(“wellboreName”)+""):"");
cell5.setCellValue((list.get(i).get(“abnormalDesc”))!=null?(list.get(i).get(“abnormalDesc”)+""):"");
cell6.setCellValue((list.get(i).get(“manualMonitoringResults”))!=null?(list.get(i).get(“manualMonitoringResults”)+""):"");
cell7.setCellValue((list.get(i).get(“monitorConfirm”))!=null?(list.get(i).get(“monitorConfirm”)+""):"");
cell8.setCellValue((list.get(i).get(“judgePreventionProposal”))!=null?(list.get(i).get(“judgePreventionProposal”)+""):"");
cell9.setCellValue((list.get(i).get(“spotConfirm”))!=null?(list.get(i).get(“spotConfirm”)+""):"");
}
}
return workbook;
}

我的新浪博客地址:添加链接描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值