Jsf 如何将Bootsfaces数据表导出到Excel
我想将数据表中的数据导出到Excel 我正在使用BootsFaces数据表( ),如下所示(为了简洁起见,我将其精简): 因此,现在我尝试在我的datatable中添加此数据导出选项,如下所示: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**
<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"...