我想在我的应用程序中添加CSV,Excel,PDF格式功能的导出表数据 .
我正在使用angularjs 1.2.16构建应用程序 .
在Excel中导出数据
我用过
<script src="https://rawgithub.com/eligrey/FileSaver.js/master/FileSaver.js" type="text/javascript"></script>
使用以下代码将表导出为XLS格式:
var blob = new Blob([document.getElementById('exportable').innerHTML], {
type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"
});
saveAs(blob, "report.xls");
上面的代码工作正常 .
以CSV,PDF格式导出数据
以同样的方式我想以CSV和PDF格式导出数据 .
我已经使用http://www.directiv.es/ng-csv以CSV格式导出数据,但它在ubuntu libre office中运行不正常(文件显示已损坏的数据) .
谁能告诉我如何在angularjs中以CSV,Excel和PDF格式导出表格数据?
5 回答
您可以使用带有XLSX.js的Alasql JavaScript库将AngularJS中的数据导出为XLS,XLSX,CSV和TAB格式 .
在代码中包含两个库:
alasql.min.js
xlsx.core.min.js
要将数据导出为Excel格式,请在控制器代码中创建一个函数:
然后在HTML中创建一个按钮(或任何其他链接):
在jsFiddle中尝试this example .
要将数据保存为CSV格式,请使用CSV()函数:
或者使用TXT(),CSV(),TAB(),XLS(),XLSX()函数来获得正确的文件格式 .
如果您对CSV文件感到满意,那么ngCsv模块就是您的选择 . 您不从DOM加载元素,而是直接导出数组 . 在这里,您可以看到ngCsv的实际样本 .
html:
和js:
另存为;要更改已注册的文件扩展名,例如:“f:\ folder \ report.html”目录?
我已经完成了几种方法并得出以下结论,类型安全(DefinitelyTyped):
感谢那些在各篇文章中做出贡献的人
我们可以将表中的数据导出为各种格式,包括Json,Xml,Pdf ......
你可以找到详细的解释http://www.prathapkudupublog.com/2015/10/angular-export-to-table.html注意:这个实现不会在IE中运行
你需要什么? Angularjs Jquery.js文件在下面的tableExport.js,JqueryBase64.js,html2canvas.js,base64.js,Jspdf.js,sprintf.js中引用