我正在使用 Angular v4,我想如何从组件中的对象开始构建 Excel 电子表格。我需要点击按钮下载 Excel 文件,并且我必须在客户端执行此操作。我有一个由数组组成的 json 文件,我需要将其传输到 Excel 文件上,可能可以自定义样式。是否可以?如果是,怎么办?
编辑:
请不要使用 js 库,需要使用 Typescript 和 Angular 来完成此操作
你的数据= jsonData
ConvertToCSV(objArray) {
var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
var str = '';
var row = "";
for (var index in objArray[0]) {
//Now convert each value to string and comma-separated
row += index + ',';
}
row = row.slice(0, -1);
//append Label row with line break
str += row + '\r\n';
for (var i = 0; i < array.length; i++) {
var line = '';
for (var index in array[i]) {
if (line != '') line += ','
line += array[i][index];
}
str += line + '\r\n';
}
return str;
}
在你的html中:
<button (click)="download()">export to excel</button>
在组件中:
download(){
var csvData = this.ConvertToCSV(yourdata);
var a = document.createElement("a");
a.setAttribute('style', 'display:none;');
document.body.appendChild(a);
var blob = new Blob([csvData], { type: 'text/csv' });
var url= window.URL.createObjectURL(blob);
a.href = url;
a.download = 'User_Results.csv';/* your file name*/
a.click();
return 'success';
}
希望它能帮助你
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)