江西广告网
标题:
Apache
[打印本页]
作者:
运动鞋
时间:
2009-2-12 09:00
标题:
Apache
import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFDataFormat; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class POI_ExcelDemo { /** * @param args */ public static void main(String[] args) { /** * author youjianbo * date 2008-6-26 * 使用Apache POI生成Excel * */ try { POI_ExcelDemo excelDemo = new POI_ExcelDemo(); String []values = {"a","b","c","d","e","f","j"}; //建立工作簿 HSSFWorkbook workbook = new HSSFWorkbook(); //建立Excel 页 HSSFSheet sheet = workbook.createSheet(); excelDemo.setColumnWidth(sheet); //给sheet取名,并设置编码 workbook.setSheetName(0, "第一张sheet", HSSFWorkbook.ENCODING_UTF_16); //建立Excel title HSSFCellStyle style = excelDemo.createTitleStyle(workbook); HSSFRow rowTitle = sheet.createRow(0); for(int i=0;i<3;i ) { HSSFCell cellTitle = rowTitle.createCell((short)i); cellTitle.setCellStyle(style); cellTitle.setCellValue("The " (i 1) " Cell"); } //建立Excel行,这里建立两行三列 for(int i=1;i<3;i ) { HSSFRow row = sheet.createRow(i); for(int j=1;j<4;j ) { HSSFCell cell = row.createCell((short)(j-1)); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setEncoding(HSSFCell.ENCODING_UTF_16); cell.setCellStyle(style); cell.setCellValue(values[i*j]); } } //sheet.createFreezePane(3, 2);//分割工作区 //将生成的excel写入 String path = excelDemo.getClassPath(); System.out.println("获得的路径是:" path); FileOutputStream fileWrite = new FileOutputStream(path "\\" "excelDemo.xls"); workbook.write(fileWrite); fileWrite.flush(); fileWrite.close(); System.out.println("Excel 生成成功"); }catch(Exception e) { e.printStackTrace(); System.out.println(e.getMessage()); } } //获得工程目录路径 private String getClassPath() { return this.getClass().getClassLoader().getResource("").getPath(); } //设置cell Style private HSSFCellStyle createTitleStyle(HSSFWorkbook wb) { HSSFFont boldFont = wb.createFont(); boldFont.setFontHeight((short) 200); HSSFCellStyle style = wb.createCellStyle(); style.setFont(boldFont); style.setDataFormat(HSSFDataFormat.getBuiltinFormat("###,##0.00")); style.setAlignment(HSSFCellStyle.ALIGN_CENTER); return style; } //设置Cell 宽度 private void setColumnWidth(HSSFSheet sheet) { //根据你数据里面的记录有多少列,就设置多少列 sheet.setColumnWidth((short) 0, (short) 3000); sheet.setColumnWidth((short) 1, (short) 3000); sheet.setColumnWidth((short) 2, (short) 3000); } }
欢迎光临 江西广告网 (http://bbs.jxadw.com/)
Powered by Discuz! X3.2