开发过程中,我们有时候会要求把数据库的数据导出来,导成Excel的表格形式,所以我们就可以有如下的操作:
1.前端js

代码:
/** *********************************** 报表导出 **************************** */
function exportxls(){
var orgCode = $.trim($("#orgCode").val());
// var subOrgCode = $.trim($("#subOrgCode").val());
var commodityCode = $.trim($("#commodityCode").val());
var agentType = $.trim($("#agentType").val());
var fastCommission = $.trim($("#fastCommission").val());
var logInfo = {
"channel":"pc",
"userCode":"2835",
"transTime":""
};
var bodyInfo={
"orgCode":orgCode,
// "subOrgCode":subOrgCode,
"commodityCode":commodityCode,
"agentType":agentType,
"fastCommission":fastCommission
}
var sendData = {
head:logInfo,
body:bodyInfo
};
sendData = JSON.stringify(sendData);
sendData = UrlEncode(sendData);
window.location.href = base.domain+"LifeCommssionRateController/exportExcel.do?comcomSetQueryDtoStr="+encodeURI(sendData);//把字符串作为 URI 进行编码,因为存在中文,所以需要编码两次
}
2.后台代码


代码:
/**
* 【方法功能描述】寿险佣金系数配置Excel表格导出
*
* @author huanglei
* @date 2018-09-06
* @param response
* @param request
* @param comcomSetQueryDtoStr
* @return
* @throws Exception
*/
@RequestMapping(value = "/exportExcel")
@ResponseBody
public String exportExcel(HttpServletResponse response,
HttpServletRequest request, String comcomSetQueryDtoStr)
throws Exception {
Status status = new Status();
String orgCode = null; // 所属分公司
String commodityCode = null; // 产品名称
String agentType = null; // 用户角色
String fastCommission=null;//是否快速结算
String parmStr = "";
if (comcomSetQueryDtoStr != null && !comcomSetQueryDtoStr.equals("")) {
try {
// 服务端进行参数解码
comcomSetQueryDtoStr = java.net.URLDecoder
.decode(comcomSetQueryDtoStr);
BASE64Decoder decoder = new BASE64Decoder();
parmStr = new String(
decoder.decodeBuffer(comcomSetQueryDtoStr), "utf-8");
TAFLog.info("寿险佣金系数配置Excel表格导出查询参数:" + parmStr);
} catch (Exception e) {
TAFLog.error("寿险佣金系数配置Excel表格导出接口,请求参数服务端进行解码异常", e);
}
}
if (parmStr != null) {
try {
TAFLog.info("【寿险佣金系数配置Excel表格导出开始~】");
//获取前台参数信息
JSONObject jsonObject = JSONUtil
.parseStringToJSONObject(parmStr);
orgCode = (String) jsonObject.getJSONObject("body").get("orgCode"); // 所属分公司
commodityCode = (String) jsonObject.getJSONObject("body").get("commodityCode"); // 产品名称
agentType = (String) jsonObject.getJSONObject("body").get("agentType"); // 用户角色
fastCommission = (String) jsonObject.getJSONObject("body").get("fastCommission"); // 用户角色
// commissionRateDto = (CommissionRateDto) JSONObject.toBean(
// jsonObject.getJSONObject("body"),
// CommissionRateDto.class);
} catch (Exception e) {
status.setStatusCode("000001");
status.setStatusMessage("查询异常");
TAFLog.error("寿险佣金系数配置Excel表格导出请求异常", e);
}
}
String fileName = "寿险佣金系数配置.xls";
List listCommissionShortCollect = lifeCommssionRateService.
getAllCommissionLifeCollect(status, orgCode, commodityCode, agentType,fastCommission);
List