jxl导出excel

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;
    }
    
    
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值