Gia*_*ris 6 excel typescript angular
我正在使用Angular v4,我想如何从组件中的对象开始构建Excel电子表格.我需要点击一个按钮下载Excel文件,我必须做这个客户端.我有一个由数组组成的json文件,我需要在excel文件上传输它,可能是风格可定制的.可能吗?如果有,怎么样?
编辑:请不要使用js库,需要使用Typescript和Angular来完成
par*_*ath 17
yourdata = 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;
}
Run Code Online (Sandbox Code Playgroud)
在你的HTML中:
<button (click)="download()">export to excel</button>
Run Code Online (Sandbox Code Playgroud)
在组件中:
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';
}
Run Code Online (Sandbox Code Playgroud)
希望你能帮助你
| 归档时间: |
|
| 查看次数: |
10767 次 |
| 最近记录: |