/*
* 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();
}
}
}