`

java 导出Excel文件

阅读更多

这是项目其中的一个功能

1前台:

 

 

                                {iconCls:'icon-out',text:"导出文件",handler:function(){

judgePurview('teacher.0905?forward=importOut',function (){

Ext.Ajax.request({

url:'teacher.0905?method=importOut',

success:function(a,b){

var obj = Ext.decode(a.responseText);

window.open(obj.msg,'_top');

}

});

});

}}

 

 

2后台:

 

 

one

public void importOut(HttpServletRequest request, HttpServletResponse response) throws IOException{

String path = teacherDao.importOut();

response.getWriter().print("{msg:'"+path+"'}");

teacherDao.addNewPrompt("insertNewPrompt", getNewPrompt(request, "导出了教师信息", "excel", "#"));

}


two
       public String importOut() {
List<Teacher> list = getTeacherList();
Label lable = null;
int rows = 0;
int cols = 0;
String excelPath = PathUtil.getUploadPath();
excelPath = excelPath + "excel";
File f = new File(excelPath);
if(!f.exists()){
f.mkdir();
}
excelPath = excelPath + "/teacherOut.xls";
OutputStream outputStream = null;
try {
outputStream = new FileOutputStream(excelPath);
WritableWorkbook workbook = Workbook.createWorkbook(outputStream);
WritableSheet writableSheet = workbook.createSheet("教师", 0);
for (Teacher teacher : list) {
if (rows == 0) {
firstRows(writableSheet);
rows++;
}
cols = 0;
String teacherNo = teacher.getTeacherNo();
lable = new Label(cols++, rows, teacherNo);
writableSheet.addCell(lable);
String name = teacher.getName();
lable = new Label(cols++, rows, name);
writableSheet.addCell(lable);
String spell = teacher.getSpell();
lable = new Label(cols++, rows, spell);
writableSheet.addCell(lable);
String sex = teacher.getSex();
if ("0".equals(sex)) {
lable = new Label(cols++, rows, "女");
writableSheet.addCell(lable);
} else {
lable = new Label(cols++, rows, "男");
writableSheet.addCell(lable);
}
String cornet = teacher.getCornet();
lable = new Label(cols++, rows, "" + cornet);
writableSheet.addCell(lable);
String nation = teacher.getNation();
lable = new Label(cols++, rows, nation);
writableSheet.addCell(lable);
String specialty = teacher.getSpecialty();
lable = new Label(cols++, rows, specialty);
writableSheet.addCell(lable);
String education = teacher.getEducation();
lable = new Label(cols++, rows, education);
writableSheet.addCell(lable);
String mobilePhone = teacher.getMobilePhone();
lable = new Label(cols++, rows, mobilePhone);
writableSheet.addCell(lable);
String tellPhone = teacher.getTellPhone();
lable = new Label(cols++, rows, tellPhone);
writableSheet.addCell(lable);
String workYears = teacher.getWorkYears();
lable = new Label(cols++, rows, "" + workYears);
writableSheet.addCell(lable);
String cardType = teacher.getCardType();
lable = new Label(cols++, rows, cardType);
writableSheet.addCell(lable);
String cardID = teacher.getCardID();
lable = new Label(cols++, rows, cardID);
writableSheet.addCell(lable);
String identtityCard = teacher.getIdentityCard();
lable = new Label(cols++, rows, identtityCard);
writableSheet.addCell(lable);
String birthday = teacher.getBirthday();
lable = new Label(cols++, rows, birthday);
writableSheet.addCell(lable);
String image = teacher.getImage();
lable = new Label(cols++, rows, image);
writableSheet.addCell(lable);
String address = teacher.getAddress();
lable = new Label(cols++, rows, address);
writableSheet.addCell(lable);
String registerTime = teacher.getRegisterTime();
lable = new Label(cols++, rows, registerTime);
writableSheet.addCell(lable);
String remark = teacher.getRemark();
lable = new Label(cols++, rows, remark);
writableSheet.addCell(lable);
rows++;
}
workbook.write();
workbook.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return "excel/teacherOut.xls";
}
three:
         public List<Teacher> getTeacherList() {
List<Teacher> list = new ArrayList<Teacher>();
try {
list = sqlMapClient.queryForList("selectAllTeacher");
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
four
      public static String getUploadPath(){
String classPath = getClassPath();
String path = StringUtil.append(StringUtil.append(classPath.substring(1, classPath.length()), Constant.SLASH),
       Constant.SUPERIOR)+Constant.SUPERIOR;
return path;
}
five
      /***
 * 
 * 〈获得第一行数据信息〉
 * @param [writableSheet]     [WritableSheet的对象]
 * @return  [void]
 */
public void firstRows(WritableSheet writableSheet) throws RowsExceededException, WriteException {
Label lable = null;
int cols = 0;
int rows = 0;
List<Element> list = ParseXlsXmlUtil.getAttributeList("teacherHead");
for (Element element : list) {
lable = new Label(cols++, rows, element.getValue());
writableSheet.addCell(lable);
}
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics