阅读更多
ExcelBean.java文件用于生成Excel
控制器:
java 代码
- package com.zhupan.util;
- import java.io.OutputStream;
- import java.util.List;
- import jxl.Workbook;
- import jxl.format.Colour;
- import jxl.format.UnderlineStyle;
- import jxl.write.Label;
- import jxl.write.WritableCellFormat;
- import jxl.write.WritableFont;
- import jxl.write.WritableSheet;
- import jxl.write.WritableWorkbook;
- import com.ctgusec.model.Course_info;
- import com.ctgusec.model.Student_info;
- public class ExcelBean {
- public String expordExcel(OutputStream os, List courseList, List studentList)
- throws Exception {
- WritableWorkbook wbook = Workbook.createWorkbook(os); // 建立excel文件
- String tmptitle = "课程“"
- + ((Course_info) courseList.get(0)).getCource_name()
- + "”的选课学生列表"; // 标题
- WritableSheet wsheet = wbook.createSheet("第一页", 0); // sheet名称
- // 设置excel标题
- WritableFont wfont = new WritableFont(WritableFont.ARIAL, 16,
- WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,
- Colour.BLACK);
- WritableCellFormat wcfFC = new WritableCellFormat(wfont);
- wsheet.addCell(new Label(1, 0, tmptitle, wcfFC));
- wfont = new jxl.write.WritableFont(WritableFont.ARIAL, 14,
- WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,
- Colour.BLACK);
- wcfFC = new WritableCellFormat(wfont);
- // 开始生成主体内容
- wsheet.addCell(new Label(0, 2, "课程名称"));
- wsheet.addCell(new Label(1, 2, "学 号"));
- wsheet.addCell(new Label(2, 2, "姓 名"));
- wsheet.addCell(new Label(3, 2, "性 别"));
- wsheet.addCell(new Label(4, 2, "学 院"));
- wsheet.addCell(new Label(5, 2, "班 级"));
- wsheet.addCell(new Label(6, 2, "专 业"));
- wsheet.addCell(new Label(7, 2, "备 注"));
- for (int i = 3; i < studentList.size() + 3; i++) {
- wsheet.addCell(new Label(0, i, ((Course_info) courseList.get(0))
- .getCource_name()));
- wsheet.addCell(new Label(1, i, ((Student_info) studentList.get(0))
- .getStudentID()));
- wsheet.addCell(new Label(2, i, ((Student_info) studentList.get(0))
- .getName()));
- wsheet.addCell(new Label(3, i, ((Student_info) studentList.get(0))
- .getSex()));
- wsheet.addCell(new Label(4, i, ((Student_info) studentList.get(0))
- .getUnit()));
- wsheet.addCell(new Label(5, i, ((Student_info) studentList.get(0))
- .getClass_()));
- wsheet.addCell(new Label(6, i, ((Student_info) studentList.get(0))
- .getSpecialty()));
- wsheet.addCell(new Label(7, i, ((Student_info) studentList.get(0))
- .getRemark()));
- }
- // 主体内容生成结束
- wbook.write(); // 写入文件
- wbook.close();
- os.close();
- return "success";
- }
- }
控制器:
java 代码
- package com.ctgusec.spring;
- import java.io.OutputStream;
- import java.util.List;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.springframework.web.servlet.ModelAndView;
- import org.springframework.web.servlet.mvc.AbstractController;
- import com.ctgusec.service.ICourse_infoManage;
- import com.zhupan.util.ExcelBean;
- public class EExcelDownController extends AbstractController {
- private ICourse_infoManage courseManage;
- public void setCourseManage(ICourse_infoManage courseManage) {
- this.courseManage = courseManage;
- }
- @Override
- protected ModelAndView handleRequestInternal(HttpServletRequest request,
- HttpServletResponse response) throws Exception {
- Integer course_id = new Integer(request.getParameter("course_id"));
- List courseList = this.courseManage.getCourseById(course_id);
- List studentList = this.courseManage.getStudentByCourseId(course_id);
- try {
- OutputStream os = response.getOutputStream();// 取得输出流
- response.reset();// 清空输出流
- response.setHeader("Content-disposition",
- "attachment; filename=student.xls");// 设定输出文件头
- response.setContentType("application/msexcel");// 定义输出类型
- ExcelBean excelBean = new ExcelBean();
- excelBean.expordExcel(os, courseList, studentList);// 调用生成excel文件bean
- } catch (Exception e) {
- System.out.println(e);
- }
- return null;
- }
- }