angular - 将 PrimeNG 数据表导出为 excel、pdf 和 xml

标签 angular primeng

PrimeNG DataTable 具有将数据导出到 CSV 文件的功能。我需要提供将数据导出到 Excel、PDF 和 XML 的功能。我怎样才能在我的 Angular2 应用程序中实现这一点?

最佳答案

PrimeNg 本身不支持数据表到 CSV 的任何内容。因此,您需要“从头开始”构建此功能。

一个好的方法是这样的:

  1. 您的组件中的对象中已经有您的数据。这将是您在数据表中传递的对象,如下所示:

    <p-dataTable [value]="cars">

    所以我们的数据在汽车对象。在您的组件中,您可以使用

    this.cars

  2. 下一步是向您的数据表标题或适合您设计的任何其他部分添加一个按钮,该按钮将读取“下载 pdf”行中的内容。像这样:

    <p-button label="Click to download PDF" styleClass="ui-button-info" (click)="download()"></p-button>

    这将在单击时调用组件中的下载方法

  3. 最后,在下载方法中,您需要将数据转换为 PDF 或您需要的任何其他格式。这可以使用许多在线库之一轻松完成,例如 PDF : jsPDF 。可以在此处找到带 Angular 工作示例:plunker example jsPDF angular4 . 所以在我们的代码中我们有下载功能:

    let doc = new jsPDF();
    let col = ["Details", "Values"];
    let rows = [];
    for(let key in this.cars){
        let temp = [key, item[key]];
        rows.push(temp);
    }
    doc.autoTable(col, rows);
    doc.save('Test.pdf');
    

关于angular - 将 PrimeNG 数据表导出为 excel、pdf 和 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41293119/

相关文章:

javascript - 当放大浏览器导致一个 div 容器扩展时,如何调整其他 div 容器的长度以保持在同一底线?

angular - 隐藏 p-calendar primeng 中的清除按钮

typescript - 如何在 Angular2 ngSwitch 语句中使用 typescript 枚举值

Angular 2 Map<String, List<String>> 可以创建吗?

angular - 如何在Primeng表中为每个选定行使用不同的颜色

css - 选中时复选框的交叉标签

javascript - Angular 2 独立组件

angular - 未知元素 - Angular 2 与 Angular 2 Material

angular - 修补项目不会更新 Angular 中的有效性

angular - 如何使用多选在 primeNg p 表中的数组内部进行搜索?