您的位置:首页 > 编程语言 > Java开发

java 导出Excel文件

2010-11-09 11:22 316 查看

这是项目其中的一个功能

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, el 1fff8 ement.getValue()); writableSheet.addCell(lable); } }

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: