`
yinlongfei
  • 浏览: 153667 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

seam中生成excel详解

    博客分类:
  • seam
阅读更多

Seam也支持微软Excel电子表格应用程序的电子表格生成,通过卓越的JExcelAPI [http://jexcelapi.sourceforge.net/]库。生成的文档与微软Excel电子表格应用程序95, 97, 2000, XP2003版兼容。 目前暴露了库功能的一个有限子集,但是最终目标能够做库允许的任何事情。有关其能力和局限性的详细信息,请参考JExcelAPI文档。

 

1、seam生成excel所需的jar包:

   jboss-seam-excel.jar :这个JAR包含Excel表格应用程序的JSF控件,它常被用来构建能够渲染文档的视图, 

                     以及DocumentStore组件,它提供渲染后的文档给用户。

   jxl.jar :是一个韩国人写的处理Excel的类库,能够方便的导入和导出Excel,是操作excel的工具类。

      jboss-seam-ui.jar :为支持Excel表格应用程序Seam模块需要使用Facelets作为视图技术,所有此包也是必须的。

   为了在你的应用程序中包括微软Excel电子表格应用程序支持,将jboss-seam-excel.jar文件和jxl.jar文件拷贝到在 你的WEB-INF/lib目录中。此外,你需要在你的web.xml文件中配置DocumentStore servlet

   自定义模块支持其他种类的微软Excel电子表格应用程序的电子表格API's变得非常容易。实现ExcelWorkbook接口,并在components.xml中注册。

 

<excel:excelFactory>

   <property name="implementations">

      <key>myExcelExporter</key>

      <value>my.excel.exporter.ExcelExport</value>

   </property>

</excel:excelFactory>

       

并用组件标签注册excel命名空间:

 

xmlns:excel=http://jboss.com/products/seam/excel

 

然后,设置UIWorkbook类型为myExcelExporter ,那么你自己的输出器就会被使用。默认是”jxl”,但是使用类型”csv”,增加了对CSVComma Separated value)的支持。

  

如果你在IE下(尤其对https)访问生成的文件有问题,确保你在浏览器中没有使用了严格的约束(http://www.nwnetworks.com/iezones.htm/),在web.xml中也没有使用太严格的安全约束,或者两者的组合。

2、excel配置

    web.xml配置如下:

    <servlet>
      <servlet-name>Document Store Servlet</servlet-name>
      <servlet-class>org.jboss.seam.document.DocumentStoreServlet</servlet-class>
   </servlet>

   <servlet-mapping>
      <servlet-name>Document Store Servlet</servlet-name>
      <url-pattern>*.csv</url-pattern>
   </servlet-mapping>
  
   <servlet-mapping>
      <servlet-name>Document Store Servlet</servlet-name>
      <url-pattern>*.xls</url-pattern>
   </servlet-mapping>

   components.xml配置如下:

   <?xml version="1.0" encoding="UTF-8"?>
<components xmlns="http://jboss.com/products/seam/components"
            xmlns:core="http://jboss.com/products/seam/core"
            xmlns:persistence="http://jboss.com/products/seam/persistence"
            xmlns:security="http://jboss.com/products/seam/security"
            xmlns:drools="http://jboss.com/products/seam/drools"
            xmlns:bpm="http://jboss.com/products/seam/bpm"
            xmlns:mail="http://jboss.com/products/seam/mail"
            xmlns:web="http://jboss.com/products/seam/web"
            xmlns:transaction="http://jboss.com/products/seam/transaction"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:spring="http://jboss.com/products/seam/spring"
            xmlns:document="http://jboss.com/products/seam/document"
            xmlns:excel="http://jboss.com/products/seam/excel"
            xsi:schemaLocation=
                "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.2.xsd
                 http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.2.xsd
                 http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.2.xsd
                 http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-2.2.xsd
                 http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.2.xsd
                 http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.2.xsd
                 http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.2.xsd
                 http://jboss.com/products/seam/transaction http://jboss.com/products/seam/transaction-2.2.xsd
                 http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.2.xsd
                 http://jboss.com/products/seam/spring http://jboss.com/products/seam/spring-2.2.xsd
                 http://jboss.com/products/seam/document http://jboss.com/products/seam/document-2.2.xsd
                 http://jboss.com/products/seam/excel http://jboss.com/products/seam/excel-2.2.xsd">
                
    <document:document-store use-extensions="true" error-page="/documentMissing.seam"/>

  

  

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics