Java Script
[JavaScript] 엑셀 업로드 구현하기
봉주니
2021. 1. 18. 14:38
엑셀업로드 후 데이터를 화면에 뿌리는 용도로 사용.
/* :::: 엑셀업로드 시작 ::: */
var X = XLSX;
vm.fileOpen = function(){
var xlf = document.getElementById('files');
xlf.click();
};
vm.fileOptions = {
showFileList: false,
async: false,
select: function(e){
console.log(e);
vm.fileLoad(e);
},
remove : function(e){
console.log(e.files);
}
};
vm.fileLoad = function(e){
var file = e.files[0];
{
var reader = new FileReader();
reader.onload = function(e) {
var data = e.target.result;
var arr = vm.fixdata(data);
var wb = X.read(btoa(arr), {type: 'base64'});
vm.processWorkBook(wb);
}
reader.readAsArrayBuffer(file.rawFile);
}
};
vm.fixdata = function(data){
var o = "";
var l = 0;
var w = 10240;
for (; l < data.byteLength / w; ++l){
o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w, l * w + w)));
}
o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w)));
return o;
};
vm.processWorkBook = function(wb){
var excelUploadList = vm.toJson(wb);
if(excelUploadList){
}
vm.toJson = function(workbook){
var roa;
var index = 0;
workbook.SheetNames.forEach(function(sheetName) {
if(index == 0) roa = X.utils.sheet_to_row_object_array(workbook.Sheets[sheetName],{range:2});
index++;
});
return roa;
};
/* :::: 엑셀업로드 끝 ::: */
반응형