public class ExportAction extends ActionSupport {
private static final long serialVersionUID = -7428873079738082526L;
private Logger logger = LoggerFactory.getLogger(getClass());
private Long id;
@Autowired
BoActivityManager boActivityManager;
@Autowired
OrdersManager ordersManager;
@Autowired
MbBlogAccountManager mbBlogAccountManager;
public void exportExcel()throws Exception{
HttpServletResponse response=ServletActionContext.getResponse();
OutputStream os=response.getOutputStream();
response.reset();
response.setHeader("Content-disposition", "attachment; filename=活动详情列表-"+DateUtil.formatDate(new Date())+".xls");
response.setContentType("application/msexcel");
BoActivity activity = boActivityManager.get(id);
if(activity==null){
logger.warn("活动[{}]不存在。",id);
}
WritableWorkbook wwb=Workbook.createWorkbook(os);
WritableSheet ws=wwb.createSheet("活动详情列表",0);
ws.getSettings().setDefaultColumnWidth(15);
Label nameLabelKey = new Label(0,0,"活动名称");
Label nameLabelValue = new Label(1,0,activity==null?"活动不存在":activity.getName());
Label timeLabelKey = new Label(0,1,"开始时间");
Label timeLabelValue = new Label(1,1,activity==null?"--":DateUtil.formatDateTime(activity.getStartDate()));
Label consumeLabelKey = new Label(0,2,"总消费额");
Label consumeLabelValue = new Label(1,2,activity==null?"--":activity.getSuccAmount().toString());
ws.addCell(nameLabelKey);
ws.addCell(nameLabelValue);
ws.addCell(timeLabelKey);
ws.addCell(timeLabelValue);
ws.addCell(consumeLabelKey);
ws.addCell(consumeLabelValue);
//创建标题
Label lbl1 = new Label(0,3,"微博主名称");
Label lbl2 = new Label(1,3,"粉丝数");
Label lbl3 = new Label(2,3,"消费额");
Label lbl4 = new Label(3,3,"订单状态");
Label lbl5 = new Label(4,3,"完成链接");
ws.addCell(lbl1);
ws.addCell(lbl2);
ws.addCell(lbl3);
ws.addCell(lbl4);
ws.addCell(lbl5);
//添加订单数据
List<Orders> orderslist = ordersManager.find(Restrictions.eq("activityId", id));
int size = orderslist.size();;
for(int i=0;i<size;i++){
Orders orders = orderslist.get(i);
MbBlogAccount mbBlogAccount = mbBlogAccountManager.get(orders.getAccountId());
if(mbBlogAccount == null){
logger.warn("微博账号[{}]不存在",orders.getAccountId());
continue;
}
Label labelMbName = new Label(0,i+4,mbBlogAccount.getNick());
Label labelFansNum = new Label(1,i+4,mbBlogAccount.getFansNum().toString());
Label labelConsume = new Label(2,i+4,orders.getPrice().toString()+"元");
Label labelStatus = new Label(3,i+4,orders.getStatusDesc());
Label labelHref = new Label(4,i+4,orders.getHref());
ws.addCell(labelMbName);
ws.addCell(labelFansNum);
ws.addCell(labelConsume);
ws.addCell(labelStatus);
ws.addCell(labelHref);
}
wwb.write();
wwb.close();
os.close();
logger.info("导出活动[{},{}]详细信息",activity.getId(),activity.getName());
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
private static final long serialVersionUID = -7428873079738082526L;
private Logger logger = LoggerFactory.getLogger(getClass());
private Long id;
@Autowired
BoActivityManager boActivityManager;
@Autowired
OrdersManager ordersManager;
@Autowired
MbBlogAccountManager mbBlogAccountManager;
public void exportExcel()throws Exception{
HttpServletResponse response=ServletActionContext.getResponse();
OutputStream os=response.getOutputStream();
response.reset();
response.setHeader("Content-disposition", "attachment; filename=活动详情列表-"+DateUtil.formatDate(new Date())+".xls");
response.setContentType("application/msexcel");
BoActivity activity = boActivityManager.get(id);
if(activity==null){
logger.warn("活动[{}]不存在。",id);
}
WritableWorkbook wwb=Workbook.createWorkbook(os);
WritableSheet ws=wwb.createSheet("活动详情列表",0);
ws.getSettings().setDefaultColumnWidth(15);
Label nameLabelKey = new Label(0,0,"活动名称");
Label nameLabelValue = new Label(1,0,activity==null?"活动不存在":activity.getName());
Label timeLabelKey = new Label(0,1,"开始时间");
Label timeLabelValue = new Label(1,1,activity==null?"--":DateUtil.formatDateTime(activity.getStartDate()));
Label consumeLabelKey = new Label(0,2,"总消费额");
Label consumeLabelValue = new Label(1,2,activity==null?"--":activity.getSuccAmount().toString());
ws.addCell(nameLabelKey);
ws.addCell(nameLabelValue);
ws.addCell(timeLabelKey);
ws.addCell(timeLabelValue);
ws.addCell(consumeLabelKey);
ws.addCell(consumeLabelValue);
//创建标题
Label lbl1 = new Label(0,3,"微博主名称");
Label lbl2 = new Label(1,3,"粉丝数");
Label lbl3 = new Label(2,3,"消费额");
Label lbl4 = new Label(3,3,"订单状态");
Label lbl5 = new Label(4,3,"完成链接");
ws.addCell(lbl1);
ws.addCell(lbl2);
ws.addCell(lbl3);
ws.addCell(lbl4);
ws.addCell(lbl5);
//添加订单数据
List<Orders> orderslist = ordersManager.find(Restrictions.eq("activityId", id));
int size = orderslist.size();;
for(int i=0;i<size;i++){
Orders orders = orderslist.get(i);
MbBlogAccount mbBlogAccount = mbBlogAccountManager.get(orders.getAccountId());
if(mbBlogAccount == null){
logger.warn("微博账号[{}]不存在",orders.getAccountId());
continue;
}
Label labelMbName = new Label(0,i+4,mbBlogAccount.getNick());
Label labelFansNum = new Label(1,i+4,mbBlogAccount.getFansNum().toString());
Label labelConsume = new Label(2,i+4,orders.getPrice().toString()+"元");
Label labelStatus = new Label(3,i+4,orders.getStatusDesc());
Label labelHref = new Label(4,i+4,orders.getHref());
ws.addCell(labelMbName);
ws.addCell(labelFansNum);
ws.addCell(labelConsume);
ws.addCell(labelStatus);
ws.addCell(labelHref);
}
wwb.write();
wwb.close();
os.close();
logger.info("导出活动[{},{}]详细信息",activity.getId(),activity.getName());
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}