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();
}
}