Jsf 如何将Bootsfaces数据表导出到Excel

Jsf 如何将Bootsfaces数据表导出到Excel,jsf,datatable,datatables,bootsfaces,Jsf,Datatable,Datatables,Bootsfaces,我想将数据表中的数据导出到Excel 我正在使用BootsFaces数据表( ),如下所示(为了简洁起见,我将其精简): 因此,现在我尝试在我的datatable中添加此数据导出选项,如下所示: <b:dataTable id="dossiers" value="#{bean.dossiers}" var="dossier" customOptions="dom: 'Bfrtip', buttons: ['excel']"> // **ADDED HERE**

我想将数据表中的数据导出到Excel

我正在使用BootsFaces数据表( ),如下所示(为了简洁起见,我将其精简):

因此,现在我尝试在我的datatable中添加此数据导出选项,如下所示:

<b:dataTable
   id="dossiers"
   value="#{bean.dossiers}"
   var="dossier"
   customOptions="dom: 'Bfrtip', buttons: ['excel']"> // **ADDED HERE**
       <b:dataTableColumn
         label="#{text['dossier.id']}"
         value="#{dossier.id}" />
       <b:dataTableColumn
         label="#{text['dossier.version']}"
         value="#{dossier.version}" />
</b:dataTable>
//**添加到此处**
不幸的是,这也不起作用。我的datatable仍然显示,但实际上所有选项现在都消失了(不再分页,不再搜索栏等)

我尝试过使用和不使用附加的datatables按钮依赖项

<dependency>
   <groupId>org.webjars.npm</groupId>
   <artifactId>datatables.net-buttons</artifactId>
   <version>1.2.2</version>
</dependency>

org.webjars.npm
datatables.net-buttons
1.2.2
有人对如何从BootsFaces数据表导出我的数据有什么建议吗?

作为回报,我永远感激你

编辑:解决方案

正如Stephan Rauh(来自Bootsfaces)所建议的那样,我使用了一个标准的datatable并添加了自己的功能

重要提示:为了实现这一点,请使用类作为选择器,而不是id

<h:dataTable                                        
    value="#{bean.dossiers}"
    var="dossier"
    styleClass="dossiers"> <!--class is used as selector-->
        <h:column>
            <f:facet name="header">
               <h:outputText value="#{text['dossier.id']}" />
            </f:facet>
                <h:outputText value="#{dossier.id}" />
        </h:column>
        <h:column>
            <f:facet name="header">
               <h:outputText value="#{text['dossier.version']}" />
            </f:facet>
                <h:outputText value="#{dossier.version}" />
        </h:column>
<h:dataTable>

在我文件的开头:

<!-- Add all the required script sources, see: https://datatables.net/extensions/buttons/examples/initialisation/export.html -->
<script type="text/javascript">
    $(document).ready(function() {
        $('.dossiers').DataTable( {
             dom: 'Bfrtip',
             buttons: [
                 'copy', 'csv', 'excel', 'pdf'
             ]     
        } );
    } );
</script>

$(文档).ready(函数(){
$('.dossiers')。数据表({
dom:'Bfrtip',
按钮:[
“复制”、“csv”、“excel”、“pdf”
]     
} );
} );

目前,
b:dataTable
中没有导出功能。这包括当前版本0.9.1和即将发布的版本1.0


但是,您应该能够自己添加这样的功能。你的第二种方法看起来很有希望<代码>b:dataTable基于Datatables.net上托管的dataTable。这个小部件又有一个扩展,添加CSV、PDF和Excel导出。目前,我们在BootsFaces中不包含此扩展,因此您必须自己添加相应的JavaScript文件。下面是DataTables.net导出器API的描述:。

Bootsfaces现在可以将datatable导出到excel(xlsx)


正如您所建议的,我使用了一个标准并使其正常工作。我将在原来的问题上添加解决方案。谢谢
<dependency>
   <groupId>org.webjars.npm</groupId>
   <artifactId>datatables.net-buttons</artifactId>
   <version>1.2.2</version>
</dependency>
<h:dataTable                                        
    value="#{bean.dossiers}"
    var="dossier"
    styleClass="dossiers"> <!--class is used as selector-->
        <h:column>
            <f:facet name="header">
               <h:outputText value="#{text['dossier.id']}" />
            </f:facet>
                <h:outputText value="#{dossier.id}" />
        </h:column>
        <h:column>
            <f:facet name="header">
               <h:outputText value="#{text['dossier.version']}" />
            </f:facet>
                <h:outputText value="#{dossier.version}" />
        </h:column>
<h:dataTable>
<!-- Add all the required script sources, see: https://datatables.net/extensions/buttons/examples/initialisation/export.html -->
<script type="text/javascript">
    $(document).ready(function() {
        $('.dossiers').DataTable( {
             dom: 'Bfrtip',
             buttons: [
                 'copy', 'csv', 'excel', 'pdf'
             ]     
        } );
    } );
</script>
<b:dataTable value="#{carPool.carPool}" var="car" excel="true"...