package com.kai.action;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.kai.domain.PersonDao;
import com.kai.domain.Student;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFHeader;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.struts2.ServletActionContext;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class ExportAction extends ActionSupport {
public String export() throws IOException{
String name=new String(ServletActionContext.getRequest().getParameter("name").getBytes("ISO-8859-1"),"GBK");
String stu_class=new String(ServletActionContext.getRequest().getParameter("stu_class").getBytes("ISO-8859-1"),"GBK");
String number=ServletActionContext.getRequest().getParameter("number");
String student_birthday=ServletActionContext.getRequest().getParameter("student_birthday");
String student_native_place=ServletActionContext.getRequest().getParameter("student_native_place");
String student_entrance=ServletActionContext.getRequest().getParameter("student_entrance");
String student_drop=ServletActionContext.getRequest().getParameter("student_drop");
String isgraduate=ServletActionContext.getRequest().getParameter("isgraduate");
String work=ServletActionContext.getRequest().getParameter("work");
String Password=ServletActionContext.getRequest().getParameter("Password");
BeanFactory applicationContext= new ClassPathXmlApplicationContext("applicationContext.xml");
String sql=getSql(stu_class,name,number);
PersonDao dao = (PersonDao) applicationContext.getBean("Dao");
List student_list=dao.Search(sql);
List<String> tableHeader = new ArrayList();
tableHeader.add("学号");
tableHeader.add("姓名");
tableHeader.add("班级");
tableHeader.add("学院");
if(student_birthday.equals("true")){
tableHeader.add("出生日期");
}
if(student_native_place.equals("true")){
tableHeader.add("籍贯");
}
if(student_entrance.equals("true")){
tableHeader.add("入学时间");
}
if(student_drop.equals("true")){
tableHeader.add("毕业时间");
}
if(isgraduate.equals("true")){
tableHeader.add("答辩状态");
}
if(work.equals("true")){
tableHeader.add("课题名称");
}
if(Password.equals("true")){
tableHeader.add("密码");
}
short cellNumber=(short)tableHeader.size();
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFCell cell = null; //Excel的列
HSSFRow row = null; //Excel的行
HSSFCellStyle style = workbook.createCellStyle(); //设置表头的类型
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
HSSFCellStyle style1 = workbook.createCellStyle(); //设置数据类型
style1.setAlignment(HSSFCellStyle.ALIGN_CENTER);
HSSFFont font = workbook.createFont(); //设置字体
HSSFSheet sheet = workbook.createSheet("sheet1"); //创建一个sheet
HSSFHeader header = sheet.getHeader();//设置sheet的头
try { /**
*根据是否取出数据,设置header信息
*
*/
if(student_list.size() < 1 ){
header.setCenter("查无资料");
}else{
header.setCenter("学生表");
row = sheet.createRow(0);
row.setHeight((short)400);
for(int k = 0;k < cellNumber;k++){
cell = row.createCell(k);//创建第0行第k列
cell.setCellValue(tableHeader.get(k));//设置第0行第k列的值
sheet.setColumnWidth(k,8000);//设置列的宽度
font.setColor(HSSFFont.COLOR_NORMAL); // 设置单元格字体的颜色.
font.setFontHeight((short)350); //设置单元字体高度
style1.setFont(font);//设置字体风格
cell.setCellStyle(style1);
}
/*
* // 给excel填充数据这里需要编写
*
*/
for(int i = 0 ;i < student_list.size() ;i++){
Student student = (Student)student_list.get(i);//获取student对象
row = sheet.createRow((short) (i + 1));//创建第i+1行
row.setHeight((short)400);//设置行高
cell = row.createCell(0);//创建第i+1行第0列
cell.setCellValue(student.getStudent_id());//设置第i+1行第0列的值
cell.setCellStyle(style);//设置风格
cell = row.createCell(1);//创建第i+1行第0列
cell.setCellValue(student.getName());//设置第i+1行第0列的值
cell.setCellStyle(style);//设置风格
cell = row.createCell(2);//创建第i+1行第0列
cell.setCellValue(student.getStudent_class());//设置第i+1行第0列的值
cell.setCellStyle(style);//设置风格
cell = row.createCell(3);//创建第i+1行第0列
cell.setCellValue(student.getCollege());//设置第i+1行第0列的值
cell.setCellStyle(style);//设置风格
for(int j=4;j<tableHeader.size();j++){
if(tableHeader.get(j).equals("出生日期")){
cell = row.createCell(j);
cell.setCellValue(student.getBirthday());
cell.setCellStyle(style);//设置风格
}
if(tableHeader.get(j).equals("籍贯")){
cell = row.createCell(j);
cell.setCellValue(student.getNativePlace());
cell.setCellStyle(style);//设置风格
}
if(tableHeader.get(j).equals("入学时间")){
cell = row.createCell(j);
cell.setCellValue(student.getEntrance());
cell.setCellStyle(style);//设置风格
}
if(tableHeader.get(j).equals("毕业时间")){
cell = row.createCell(j);
cell.setCellValue(student.getDrop());
cell.setCellStyle(style);//设置风格
}
if(tableHeader.get(j).equals("答辩状态")){
cell = row.createCell(j);
cell.setCellValue(student.getIsgraduate());
cell.setCellStyle(style);//设置风格
}
if(tableHeader.get(j).equals("课题名称")){
cell = row.createCell(j);
cell.setCellValue(student.getWorks());
cell.setCellStyle(style);//设置风格
}
if(tableHeader.get(j).equals("密码")){
cell = row.createCell(j);
cell.setCellValue(student.getPassword());
cell.setCellStyle(style);//设置风格
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
/*
*下面的可以不用编写,直接拷贝
*
*/
HttpServletResponse response = null;//创建一个HttpServletResponse对象
OutputStream out = null;//创建一个输出流对象
try {
response = ServletActionContext.getResponse();//初始化HttpServletResponse对象
out = response.getOutputStream();//
response.setHeader("Content-disposition","attachment; filename="+"student.xls");//filename是下载的xls的名,建议最好用英文
response.setContentType("application/msexcel;charset=UTF-8");//设置类型
response.setHeader("Pragma","No-cache");//设置头
response.setHeader("Cache-Control","no-cache");//设置头
response.setDateHeader("Expires", 0);//设置日期头
workbook.write(out);
out.flush();
} catch (IOException e) {
e.printStackTrace();
}finally{
try{
if(out!=null){
out.close();
}
}catch(IOException e){
e.printStackTrace();
}
}
return null;
}
public String getSql(String stu_class,String name,String number){
int flag=0;
String str="where ";
if(!stu_class.equals("")){
str+="student_class= '"+stu_class+"'";
flag=1;
}
if(!name.equals("")){
if(flag==1
没有合适的资源?快使用搜索试试~ 我知道了~
SSH实现学生毕业设计管理系统
共125个文件
jar:49个
class:16个
java:16个
4星 · 超过85%的资源 需积分: 9 73 下载量 33 浏览量
2013-07-21
14:30:22
上传
评论 4
收藏 25.86MB ZIP 举报
温馨提示
使用SSH框架开发,实现AJAX技术 适用于刚接触SSH开发的同学 适用于学期末课程设计
资源推荐
资源详情
资源评论
收起资源包目录
SSH实现学生毕业设计管理系统 (125个子文件)
ExportAction.class 8KB
getStudent.class 6KB
UpdStudentAction.class 5KB
AddStudentAction.class 4KB
PersonDao.class 4KB
CheckFormAction.class 3KB
MakeCertPic.class 3KB
Student.class 3KB
DelStudentAction.class 2KB
UpdateAction.class 2KB
ChangePassAction.class 2KB
CharcterEncoder.class 1KB
Grade.class 940B
Administator.class 932B
Subject.class 761B
ForwardAction.class 693B
.classpath 529B
org.eclipse.wst.common.component 468B
org.eclipse.wst.jsdt.ui.superType.container 49B
default-style.css 487B
index-style.css 336B
hibernate-core-4.1.9.Final.jar 4.3MB
ojdbc6.jar 2.01MB
jsf-impl.jar 1.78MB
aspectjweaver.jar 1.74MB
poi-3.7-20101029.jar 1.6MB
lucene-core-3.6.2.jar 1.47MB
dwr.jar 1.08MB
snappy-java-1.0.4.1.jar 973KB
freemarker-2.3.19.jar 909KB
spring-core-3.2.1.RELEASE.jar 843KB
spring-context-3.2.1.RELEASE.jar 838KB
struts2-core-2.3.4.1.jar 765KB
jackson-mapper-asl-1.9.2.jar 748KB
javassist-3.17.1-GA.jar 695KB
mysql-connector-java-5.1.7-bin.jar 693KB
xwork-core-2.3.4.1.jar 614KB
spring-web-3.2.1.RELEASE.jar 610KB
jsf-api.jar 593KB
spring-beans-3.2.1.RELEASE.jar 593KB
spring-test-3.2.1.RELEASE.jar 444KB
antlr-2.7.7.jar 435KB
spring-jdbc-3.2.1.RELEASE.jar 392KB
spring-orm-3.2.1.RELEASE.jar 383KB
jstl-impl.jar 379KB
spring-aop-3.2.1.RELEASE.jar 327KB
cglib-nodep-2.1_3.jar 317KB
commons-lang3-3.1.jar 308KB
dom4j-1.6.1.jar 307KB
avro-1.6.3.jar 286KB
spring-tx-3.2.1.RELEASE.jar 235KB
jackson-core-asl-1.9.2.jar 223KB
ognl-3.0.5.jar 222KB
spring-expression-3.2.1.RELEASE.jar 191KB
commons-io-2.0.1.jar 156KB
jedis-2.1.0.jar 136KB
commons-dbcp.jar 119KB
aspectjrt.jar 114KB
hibernate-jpa-2.0-api-1.0.1.Final.jar 100KB
hibernate-commons-annotations-4.0.1.Final.jar 79KB
commons-pool.jar 61KB
jboss-logging-3.1.0.GA.jar 59KB
commons-logging-1.1.1.jar 59KB
commons-fileupload-1.2.2.jar 58KB
javax.servlet.jsp.jstl.jar 44KB
paranamer-2.3.jar 29KB
slf4j-api-1.6.1.jar 25KB
struts2-spring-plugin-2.3.4.1.jar 21KB
jta-1.1.jar 15KB
aopalliance-1.0.jar 4KB
ExportAction.java 8KB
getStudent.java 5KB
UpdStudentAction.java 4KB
AddStudentAction.java 4KB
PersonDao.java 3KB
CheckFormAction.java 2KB
MakeCertPic.java 2KB
Student.java 2KB
DelStudentAction.java 2KB
CharcterEncoder.java 1KB
ChangePassAction.java 1KB
UpdateAction.java 1010B
Grade.java 527B
Administator.java 506B
Subject.java 398B
ForwardAction.java 301B
bg_1.jpg 103KB
title.jpg 22KB
calendar.js 16KB
.jsdtscope 493B
student_update.jsp 6KB
teacher.jsp 6KB
student_manage.jsp 5KB
student.jsp 4KB
index.jsp 3KB
changepass_admin.jsp 3KB
changepass_student.jsp 3KB
student_work.jsp 2KB
security_error.jsp 841B
user_error.jsp 833B
共 125 条
- 1
- 2
资源评论
- jim452014-04-28运行不了啊,老是报错
- Rsl_God2014-04-20只能用dreamweaver打开一些界面
- duwenxiu2016-12-31可以运行,,还有sql文件!!做课程设计用的,
虎牙_
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功