親還

不要轻易怀疑自己,没有什么不可以做到。 不要过分相信自己,不努力,什么都得不到。

导航

jxl excel 下载本地 springmvc

/*
 * Copyright © 2012-2013 eric@eazo. All Rights Reserved.
 */

package cn.eazo.services.ExcelHelp.impl;

import cn.eazo.dto.FinanceDTO;
import cn.eazo.services.ExcelHelp.ExcelHelpService;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
import java.util.List;

/**
 * <p>
 * .
 * </p>
 *
 * @author Eric
 * @version 1.0 13-9-27 下午 下午5:00
 * @since JDK 1.6
 */
@Service
public class ExcelHelpServiceImpl implements ExcelHelpService {

    private static final Logger logger = LoggerFactory.getLogger(ExcelHelpServiceImpl.class);
    @Override
    public void leadingOut(List<FinanceDTO> listList, String[] title, String name,HttpServletResponse response ) {
        try {
            OutputStream os = response.getOutputStream();// 取得输出流
            response.reset();// 清空输出流

            response.setHeader("Content-disposition", "attachment; filename="+new String(name.getBytes("GB2312"),"8859_1")+".xls");// 设定输出文件头
            response.setContentType("application/msexcel");
            WritableWorkbook book = Workbook.createWorkbook(os);
            // 生成名为“第一页”的工作表,参数0表示这是第一页
            WritableSheet sheet = book.createSheet("第一页", 0);
            // 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
            // 标题
            for (int i = 0; i < title.length; i++) {
                sheet.addCell(new Label(i, 0, title[i]));
            }
            for (int i=0 ;i<listList.size() ;i++){
                sheet.addCell(new Label(0, i+1, listList.get(i).getSiteName()));
                sheet.addCell(new Label(1, i+1, listList.get(i).getNumber().toString()));
                sheet.addCell(new Label(2, i+1, listList.get(i).getFeesPayable().toString()));
                sheet.addCell(new Label(3, i+1, listList.get(i).getPayTuition().toString()));
                sheet.addCell(new Label(4, i+1, listList.get(i).getDebtNumber().toString()));
                sheet.addCell(new Label(5, i+1, listList.get(i).getDebtMoney().toString()));
                sheet.addCell(new Label(6, i+1, listList.get(i).getQuitSchool().toString()));
                sheet.addCell(new Label(7, i+1, listList.get(i).getQuitMoney().toString()));
            }
            book.write();
            book.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

  

posted on 2013-10-15 16:51  贝&&沁  阅读(532)  评论(0)    收藏  举报