0
私はこの名前空間を使って情報を持つファイル(いくつかのExcelテーブル)を取得していますが、その情報を私のビューに表示するにはどうすればいいのか知りたいだけですか?私はそれが情報を保存するJSONファイルに関連するものか、それなら何かを知っています。助けてください。sap.ui.unified.FileUploaderで読み込まれたファイルの情報の使い方は?
私はこの名前空間を使って情報を持つファイル(いくつかのExcelテーブル)を取得していますが、その情報を私のビューに表示するにはどうすればいいのか知りたいだけですか?私はそれが情報を保存するJSONファイルに関連するものか、それなら何かを知っています。助けてください。sap.ui.unified.FileUploaderで読み込まれたファイルの情報の使い方は?
これはJavaScriptで実現できますが、サードパーティのライブラリが必要になります。一言で言えば
は、あなたがchange
イベントに耳を傾ける必要があります:あなたのコントローラで
<u:FileUploader change="onFileChange" />
、あなたはその後、Excelファイル読み取ることができます。
onFileChange: function(oEvent) {
var aFiles = oEvent.getParameter("files");
if (aFiles && aFiles.length) {
this.processFile(aFiles[0]);
}
}
をprocessFile
方法はどのような第三に依存します-partyライブラリを使用します。最後に、ExcelをJSONに変換してローカルのJSONModelに保存したいとします。例えば
あなたがJS-XLSXを使用している場合、それはそうのようになります。
processFile: function(f) {
var oModel = this.getModel("myLocalModel");
var oReader = new FileReader();
oReader.onload = function(e) {
var oWorkbook = XLSX.read(e.target.result, {type: 'array'});
var oSheet = oWorkbook.Sheets[oWorkbook.SheetNames[0]];
var oData = XLSX.utils.sheet_to_json(oSheet);
oModel.setData(oData);
};
oReader.readAsArrayBuffer(f);
}
おかげでたくさん!それはうまく動作します。 Serban氏に感謝します。 – Deivbid