ivan 发表于 2013-1-15 02:58:07

以Excel作为模板产生Excel

jxls:http://jxls.sourceforge.net/,产生简单的excel报表还是挺好用到,感觉类似于jsp里面使用el和jstl,不再需要数格子、画格子。

主要类库:commons-jexl.jar和jxls-core.jar。

代码例子
Map params=new HashMap();            response.setContentType("application/vnd.ms-excel");      response.setHeader("Content-Disposition","attachment; filename=baseinfo.xls");      XLSTransformer transformer=new XLSTransformer();      InputStream is=new BufferedInputStream(new FileInputStream(getServletContext().getRealPath(                "/MISPackWeb/TeacherManagement/templates/baseinfo.xls")));      HSSFWorkbook workbook=transformer.transformXLS(is,params);      OutputStream os=response.getOutputStream();      workbook.write(os);      is.close();      os.flush();      os.close();
其常用标签。类似jstl和el,但是可以调用方法。
<jx:forEach items="${requirementItems}" var="item">   ${item.sortOrder}、${item.title}(${item.description})</jx:forEach><jx:if test="${department.chief.payment > 2000.0}">   Chief Name: ${department.chief.name}</jx:if>${researchOrientation.cnName.trim()}

已知问题

[*]页脚里有中文的话会乱码
[*]标签前面不能有空格
[*]不支持条件运算符(jexl本身的问题,见http://issues.apache.org/jira/browse/JEXL-19)
页: [1]
查看完整版本: 以Excel作为模板产生Excel