论坛首页 Java企业应用论坛

以Excel作为模板产生Excel

浏览 4241 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-04-17   最后修改:2009-04-25
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)
   发表时间:2009-04-18  
目前还是在数格子中....比较烦,好的地方是,可以先画出模板
0 请登录后投票
   发表时间:2009-04-18  
不知道你是用什么画模板呢?比较复杂的话用jxls处理也是力有不逮啊。jxls依赖commons-jexl来处理el也不好,commons-jexl太弱了。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics