最开始用iText生成pdf报表,可是管理流程竟然要求生成excel然后再通过人工审核,所以不得不借用组件去生成Excel文档,一开发现的就是apache的POI.因为我原来用的制作报表的工具是iReport + Jasper ,好像它支持的也是POI组件。 我找了一些资料,大部分说得都是直接生成Excel文档,下载到本机操作,可是现在想把Excel在网页页面显示,因为这种过程比较直观,然后根据需求,看是否需要下载到本机。 生成Excel比较简单,非常类似于网页表格的生成。 Excel的三大元素: 1.文档本体 HSSFSheet 2.文档行 HSSFRow 3.文档单元格 HSSFCell 不过操作这一切之前,你要先建立一个工程。 操作流程就是: 建一个工程,在此工程下建一个文档,增加行,增加单元格 我想无论多么复杂,应该大体过程都如此。 下面这一段是一个简单构建过程: HSSFWorkbook wb = new HSSFWorkbook();//建立一工程 HSSFSheet sheet = wb.createSheet("mySheet");//生成一个文档实体(参数可选) HSSFRow row = sheet.createRow((short)0);//增加一行,行号必须为短整型 HSSFCell cell = row.createCell((short)0);//增加单元格,可一行多格 cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16); //中文非要加上这一句,要不乱码 cell.setCellValue(1);//置值 // 你也可以一行做完全部的事 row.createCell((short)1).setCellValue(1.2); row.createCell((short)2).setCellValue("This is a string"); row.createCell((short)3).setCellValue(true); // 输出到文档 这一部也是要我们做的,就把数据流倒到jsp页 FileOutputStream fileOut = new FileOutputStream("workbook.xls"); wb.write(fileOut); fileOut.close(); 这中表格很朴素,机会没有用到诸如字体设置,样式风格,甚至很严重的中文问题也没有考虑 ,不过这是万里长征第一步,也是增强自信心的第一步。那么接下来我们一步一步打造一个完整的Excel报表. 单元格样式 HSSFFont cf = workbook.createFont(); //基本字体 HSSFCellStyle cs =workbook.createCellStyle(); //单元格样式 cf.setFontHeightInPoints((short)12); //字体大小 cf.setColor(HSSFFont.COLOR_RED); //字体颜色 注意使用HSSFont下的颜色常量 cf.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //字体粗细 cs.setFont(cf);//设置字体样式 cs.setAlignment(HSSFCellStyle.ALIGN_RIGHT); //对齐方式这里只简单介绍,接下来,看一下如何把这些东西搬到jsp页面。 以下是写的一个方法,实际应该是有数据库链接的,出于简单考虑,直接写些数据就了事。 相关文章: 2021-09-04 2022-12-23 2021-12-04 2021-12-22 2021-07-02 2021-11-16 2022-12-23 2021-12-29