首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 复习指导 >

一步一步使用POI做java报表(1)

2009-02-22 
POI

    读取和重写 Workbooks
  POIFSFileSystem fs =
  new POIFSFileSystem(new FileInputStream("workbook.xls"));
  HSSFWorkbook wb = new HSSFWorkbook(fs);
  HSSFSheet sheet = wb.getSheetAt(0);
  HSSFRow row = sheet.getRow(2);
  HSSFCell cell = row.getCell((short)3);
  if (cell == null)
  cell = row.createCell((short)3);
  cell.setCellType(HSSFCell.CELL_TYPE_STRING);
  cell.setCellValue("a test");
  // 写入文件
  FileOutputStream fileOut = new FileOutputStream("workbook.xls");
  wb.write(fileOut);
  fileOut.close();
  在单元格中换行
  HSSFWorkbook wb = new HSSFWorkbook();
  HSSFSheet s = wb.createSheet();
  HSSFRow r = null;
  HSSFCell c = null;
  HSSFCellStyle cs = wb.createCellStyle();
  HSSFFont f = wb.createFont();
  HSSFFont f2 = wb.createFont();
  cs = wb.createCellStyle();
  cs.setFont( f2 );
  //开启Word Wrap
  cs.setWrapText( true );
  r = s.createRow( (short) 2 );
  r.setHeight( (short) 0x349 );
  c = r.createCell( (short) 2 );
  c.setCellType( HSSFCell.CELL_TYPE_STRING );
  c.setCellValue( "Use \n with word wrap on to create a new line" );
  c.setCellStyle( cs );
  s.setColumnWidth( (short) 2, (short) ( ( 50 * 8 ) / ( (double) 1 / 20 ) ) );
  FileOutputStream fileOut = new FileOutputStream( "workbook.xls" );
  wb.write( fileOut );
  fileOut.close();
  数据格式化
  HSSFWorkbook wb = new HSSFWorkbook();
  HSSFSheet sheet = wb.createSheet("format sheet");
  HSSFCellStyle style;
  HSSFDataFormat format = wb.createDataFormat();
  HSSFRow row;
  HSSFCell cell;
  short rowNum = 0;
  short colNum = 0;
  row = sheet.createRow(rowNum++);
  cell = row.createCell(colNum);
  cell.setCellValue(11111.25);
  style = wb.createCellStyle();
  style.setDataFormat(format.getFormat("0.0"));
  cell.setCellStyle(style);
  row = sheet.createRow(rowNum++);
  cell = row.createCell(colNum);
  cell.setCellValue(11111.25);
  style = wb.createCellStyle();
  style.setDataFormat(format.getFormat("#,##0.0000"));
  cell.setCellStyle(style);
  FileOutputStream fileOut = new FileOutputStream("workbook.xls");
  wb.write(fileOut);
  fileOut.close();
  使得一个Sheet适合一页
  HSSFWorkbook wb = new HSSFWorkbook();
  HSSFSheet sheet = wb.createSheet("format sheet");
  HSSFPrintSetup ps = sheet.getPrintSetup();
  sheet.setAutobreaks(true);
  ps.setFitHeight((short)1);
  ps.setFitWidth((short)1);
  FileOutputStream fileOut = new FileOutputStream("workbook.xls");
  wb.write(fileOut);
  fileOut.close();
  设置打印区域
  HSSFWorkbook wb = new HSSFWorkbook();
  HSSFSheet sheet = wb.createSheet("Sheet1");
  wb.setPrintArea(0, "$A$1:$C$2");
  //为第一个Sheet页设置打印区域
  //也可以这样
  //wb.setPrintArea(0, 0, 1, 0, 0) ,详细参考java doc
  FileOutputStream fileOut = new FileOutputStream("workbook.xls");
  wb.write(fileOut);
  fileOut.close();
  设置页脚的页数
  HSSFWorkbook wb = new HSSFWorkbook();
  HSSFSheet sheet = wb.createSheet("format sheet");
  HSSFFooter footer = sheet.getFooter()
  footer.setRight( "Page " + HSSFFooter.page() + " of " + HSSFFooter.numPages() );
  FileOutputStream fileOut = new FileOutputStream("workbook.xls");
  wb.write(fileOut);
  fileOut.close();

热点排行