wbook.write(); // 写入文件
wbook.close();
os.close();
return "success";
}
}
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, "学 号"));
.........
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()));
...........
}
// 主体内容生成结束
wbook.write(); // 写入文件
wbook.close();
os.close();
return "success";
}
}
控制器:
Java代码
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;
}
}
将Excel文件内容写入到数据库
Java代码
publicclass EStudentInsertExcelController extends SimpleFormController{
private IStudent_infoManage studentManage;
@Override
protected ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception{
Student_info student_info = (Student_info) command;
try;{
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
MultipartFile file = multipartRequest.getFile( " Excelfile " ); // 获得文件:
File toFile =new File( " c:\\学生信息临时文件.xls " ); // 产生文件名和空文件
file.transferTo(toFile); // 文件上传
Workbook book = Workbook.getWorkbook(toFile); // 得到工作薄
Sheet sheet = book.getSheet( 0 ); // 获得第一个工作表对象
int row = sheet.getRows(); // /得到该sheet的行数
int column = sheet.getColumns(); // 得到该sheet的列数
System.out.println( " 数据行数= " + row);
System.out.println( " 数据列数= " + column);
for ( int i = 1 ;i < row;i ++ )
{
for ( int j = 0 ;j < column;j ++ )
{
System.out.println( " j= " + j);
sheet.getCell(j, i).getContents(); // 得到第j列第i行的单元格的类容
student_info.setStudentID(sheet.getCell(j, i).getContents());
........................
}
if ( this .studentManage.getStudentByStudentID(
student_info.getStudentID()).size() !=0 )
returnnew ModelAndView( " education/e-studentInfoAddError " );
this .studentManage.insertStudent_info(student_info);
}
book.close();
returnnew ModelAndView( " education/e-studentInfoAddExcelSuccess " , " row " , new Integer(row - 1 ));
}catch (Exception e){
e.printStackTrace();
}
returnnew ModelAndView( " education/e-studentInfoAddExcelError " );
}
publicvoid setStudentManage(IStudent_infoManage studentManage){
this .studentManage = studentManage;
}
}
spring 生成Excel和PDF文件
HTML页面并不总是向用户显示数据输出的最好方式,有时候需要生成不可改变的文件打印,PDF可能是种不错的选择。
Spring支持从数据动态生成PDF或Excel文件
下面这个简单实现的例子实现了spring输出PDF和Excel文件,为了使用Excel电子表格,你需要在你的classpath中加入poi-2.5.1.jar库文件,而对PDF文件,则需要iText.jar文件。它们都包含在Spring的主发布包中。
下面是测试项目代码:
1、控制器配置代码
Java代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="beanNameViewResolver"
class="org.springframework.web.servlet.view.BeanNameViewResolver" />
<bean id="viewController" class="com.zhupan.spring.ViewController" />
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/view*.shtml">viewController</prop>
</props>
</property>
</bean>
</beans>
标签: PDF