角度2のアプリケーションでJSONデータを変換して.CSVにエクスポートする機能を使用しています。以下は私の機能であり、角度2のアプリケーション (web)でうまく動作しています。私はIonic 2を使用して開発したモバイルアプリで使用しようとしたのと同じですが、モバイルアプリでは動作しません。これを行う方法はありますか?jsonオブジェクトを.csvファイルに変換する方法と、Ionic 2 + Anger 2を使って書き出す方法は?
ありがとうございます!
saveAsCSV() {
let sampleJson : any = [{name:'ganesh', age:'24'},{name:'ramesh', age:'24'},{name:'suresh', age:'24'}]
this.saveData = [];
let a = document.createElement("a");
a.setAttribute('style', 'display:none;');
document.body.appendChild(a);
let csvData = ConvertToCSV(sampleJson);
let blob = new Blob([csvData], { type: 'text/csv' });
let url= window.URL.createObjectURL(blob);
a.href = url;
a.download = 'sample.csv';
a.click();
}
ConvertToCSV(objArray) {
let array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
let str = '';
let row = "";
for (let 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 (let i = 0; i < array.length; i++) {
let line = '';
for (let index in array[i]) {
if (line != '') line += ',';
line += array[i][index];
}
str += line + '\r\n';
}
return str;
}
「ダウンロード」属性は、ブラウザの実行方法に関する被告です。イオンコードでファイルをダウンロードすることをお勧めします。このコードバプラグインを使用する必要があります:https://github.com/apache/cordova-plugin-file-transfer#download – misha130