주니봉
  • [JavaScript] 엑셀 업로드 구현하기
    2021년 01월 18일 14시 38분 04초에 업로드 된 글입니다.
    작성자: 봉주니

    엑셀업로드 후 데이터를 화면에 뿌리는 용도로 사용.

     

     

    /* :::: 엑셀업로드 시작 :::  */
            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;
              };
              /* :::: 엑셀업로드 끝 :::  */
              

     

    반응형

    'Java Script' 카테고리의 다른 글

    [JavaScript] 날짜 정규화 체크  (0) 2021.01.18
    자바스크립 Ajax 사용( POST/GET)  (0) 2021.01.12
    textarea 영문 빨간줄  (0) 2020.12.31
    TypeError: Cannot read property 'length' of undefined  (0) 2020.12.17
    휴대폰 정규식 체크  (0) 2020.03.05
    댓글