可隨意轉(zhuǎn)載,但請注明出處及作者 SonyMusic 2003.05.15 ========================================================================== 在Java中向Excel文件寫入內(nèi)容
四、導(dǎo)出數(shù)據(jù)到Excel文件中 下面的例子,設(shè)置了數(shù)字、日期的格式,還有字體,顏色等。
File tempFile=new File("d:/temp/output.xls"); WritableWorkbook workbook = Workbook.createWorkbook(tempFile); WritableSheet sheet = workbook.createSheet("TestCreateExcel", 0);
//一些臨時變量,用于寫到excel中 Label l=null; jxl.write.Number n=null; jxl.write.DateTime d=null;
//預(yù)定義的一些字體和格式,同一個Excel中最好不要有太多格式 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");//用于Number的格式 WritableCellFormat priceFormat = new WritableCellFormat (detFont, nf);
DateFormat df=new DateFormat("yyyy-MM-dd");//用于日期的 WritableCellFormat dateFormat = new WritableCellFormat (detFont, df);
//剩下的事情,就是用上面的內(nèi)容和格式創(chuàng)建一些單元格,再加到sheet中 l=new Label(0, 0, "用于測試的Excel文件", headerFormat); sheet.addCell(l);
//add Title int column=0; l=new Label(column++, 2, "標題", titleFormat); sheet.addCell(l); l=new Label(column++, 2, "日期", titleFormat); sheet.addCell(l); l=new Label(column++, 2, "貨幣", titleFormat); sheet.addCell(l); l=new Label(column++, 2, "價格", titleFormat); sheet.addCell(l);
//add detail int i=0; column=0; l=new Label(column++, i+3, "標題 "+i, detFormat); sheet.addCell(l); d=new DateTime(column++, i+3, new java.util.Date(), dateFormat); sheet.addCell(d); l=new Label(column++, i+3, "CNY", detFormat); sheet.addCell(l); n=new jxl.write.Number(column++, i+3, 5.678, priceFormat); sheet.addCell(n);
i++; column=0; l=new Label(column++, i+3, "標題 "+i, detFormat); sheet.addCell(l); d=new DateTime(column++, i+3, new java.util.Date(), dateFormat); sheet.addCell(d); l=new Label(column++, i+3, "SGD", detFormat); sheet.addCell(l); n=new jxl.write.Number(column++, i+3, 98832, priceFormat); sheet.addCell(n);
//設(shè)置列的寬度 column=0; sheet.setColumnView(column++, 20); sheet.setColumnView(column++, 20); sheet.setColumnView(column++, 10); sheet.setColumnView(column++, 20);
workbook.write(); workbook.close();
|