萌新小白,这个从网上看来的方法,框架用的SSM。
现在Excel能导出文件,但是除了标题,什么内容都还没能从数据库获取。
list中不知道怎么加入数据,也不知道怎么加入。
希望大神们帮帮忙解答下
以下service层代码
String[] excelHeader = { "title", "urgency", "projectman"};
public HSSFWorkbook export(List<UserInfo> list) {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("UserInfo");
HSSFRow row = sheet.createRow((int) 0);
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
for (int i = 0; i < excelHeader.length; i++) {
HSSFCell cell = row.createCell(i);
cell.setCellValue(excelHeader[i]);
cell.setCellStyle(style);
sheet.autoSizeColumn(i);
// sheet.SetColumnWidth(i, 100 * 256);
}
for (int i = 0; i < list.size(); i++) {
row = sheet.createRow(i + 1);
UserInfo UserInfo = list.get(i);
row.createCell(0).setCellValue(UserInfo.getTitle());
row.createCell(1).setCellValue(UserInfo.getUrgency());
row.createCell(2).setCellValue(UserInfo.getProjectman());
}
return wb;
}
以下是控制层代码
@RequestMapping(value = "/excel/export")
public void exportExcel(HttpServletRequest request, HttpServletResponse response)
throws Exception {
List<UserInfo> list = new ArrayList<UserInfo>();
UserInfo obj=new UserInfo("","","");
for(int i=0;i<list.size();i++) {
list.add(new UserInfo(obj.getProjectman(),obj.getTitle(),obj.getUrgency()));
}
HSSFWorkbook wb = ms.export(list);
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=UserInfo.xls");
OutputStream ouputStream = response.getOutputStream();
wb.write(ouputStream);
ouputStream.flush();
ouputStream.close();
修改成这样后开始报错……
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.test.entity.UserInfo]: No default constructor found; nested exception is java.lang.NoSuchMethodException: org.test.entity.UserInfo.<init>()
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
现在知道数据获取不了,但实际控制层代码不知道怎么写明白,select全部之后怎么封装到数组里,然后遍历……还是很懵逼