1.在springmvc.xml中配置(优先访问bean而不是view)
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
<property name="order" value="0"></property>
</bean>
2.写一个类继承AbstractJExcelView
@Component("excelView")
public class ExcelView extends AbstractJExcelView {
@Override
protected void buildExcelDocument(Map<String, Object> modelMap, WritableWorkbook workbook, HttpServletRequest request,
HttpServletResponse response) throws Exception {
WritableSheet sheet = workbook.createSheet("mail1", 0);//创建名为mail1的sheet
Label label = new Label(0,1,(String)modelMap.get("name"));//libel代表cell中是字符串
jxl.write.Number number=new jxl.write.Number(0,2,(Integer)modelMap.get("age"));
sheet.addCell(label);
sheet.addCell(number);
response.setHeader("Content-Disposition", "attachment;filename=mail.xls");
}
}
3.controller中
@Controller("download")
public class DownExcelController {
@RequestMapping("/down")
public String download(ModelMap modelMap) throws IOException, BiffException, WriteException {
modelMap.put("name", "zs");
modelMap.put("age", 20);
return "excelView";//去访问映射名为excelView的类
}
}