try{ getDBConnection(); pstmt = conn.prepareStatement(strSql); ret = pstmt.executeQuery(); File tempFile=new File(filename); try{ WritableWorkbook workbook = Workbook.createWorkbook(tempFile); WritableSheet sheet = workbook.createSheet("sheet1", 0); Label l=null; jxl.write.Number n=null; jxl.write.DateTime d=null; WritableFont headerFont = new WritableFont(WritableFont.ARIAL,12,WritableFont.BOLD,false, UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.BLUE); WritableCellFormat headerFormat = new WritableCellFormat (headerFont);
WritableFont titleFont = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false, UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED); WritableCellFormat titleFormat = new WritableCellFormat (titleFont);
WritableFont detFont = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false, UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.BLACK); WritableCellFormat detFormat = new WritableCellFormat (detFont);
NumberFormat nf=new NumberFormat("0.00000"); WritableCellFormat priceFormat = new WritableCellFormat (detFont, nf);
DateFormat df=new DateFormat("yyyy-MM-dd"); WritableCellFormat dateFormat = new WritableCellFormat (detFont, df);
l=new Label(2,0,"",headerFormat); sheet.addCell(l); int intTitle = title.length; for (int i=0;i<intTitle;i++) { l=new Label(i,2,title[i], titleFormat); sheet.addCell(l); } int k = 0; while(ret.next()) { k++; for (int j=1;j<intTitle;j++) { l=new Label(j-1,k+3,ret.getString(j),detFormat); sheet.addCell(l); //sheet.setColumnView(j,30); } } workbook.write(); workbook.close(); } catch(Exception e){} } catch(SQLException ae) { throw new ApplicationException("创建Excel时查询数据库操作失败! " + "错误信息:" +strSql + ",异常信息为 :\n" + ae.getMessage()); } finally { closeResultSet(ret); closeStatement(pstmt); closeConnection(); }}