:::: 개발 ::::/::: JSCRIPT :::

액셀 데이터 특정 필드 추출(cols /rows)

nayha 2017. 9. 7. 17:01

액셀 데이터 특정 필드 추출


액셀 데이터 추출해서 스크립트로 가져오는 부분은 생략... 

가져와서 추출하는 부분만 정리!!


특정 데이터 타입만 추출하여야 한다

데이터 타입 별  CO2 컬럼에  VALUE 값을 추출해야 한다


첫번째 필드에 추출 타입이 명칭이 들어 있고 

그 이후 공백

다른 데이터 타입이 들어오고 ..

다시 공백..


으아 말로 하니까 엄청 힘드네요 ㅎㅎ



COL0 | COL1 |  COL2 | 

--------------------------------------------------------------------------------

DATA_TYPE | CODE | VALUE |

DATA1   | CD100 | 11 |

 |   | CD200 | 22 | 

 |   | CD300 | 22 | 

 |   | CD400 | 22 | 

DATA2   | CD100 | 11 |

 |   | CD200 | 22 | 

 |   | CD300 | 22 | 

 |   | CD400 | 22 | 


 .. 위 형식에 Excel 형태이다..


 데이터 타입에 공백말고 쭉~~ 넣어주면 개발이 편한데 ...바꿀 수가 없으니 

 스크립트로 삽질 시작..


데이터 타입 배열 변수 초기화

var  DATA1 = new Array;

var  DATA2 = new Array;


데이터 타입 전역 변수 초기화

var EXCEL_DATANAME ="";


가져온 액셀 리스트 루프


for (var i = 0;  i < Excellist.length;  i++) {


var data_type = $.trim(Excellist[i]["COL0"]);  //전체 데이터 타입


if( data_type == "" ){ //공백이면


if(EXCEL_DATANAME =='DATA1'){

DATA1.push($.trim(datalist[i]["COL2"]));

}


}else{ //공백이 아니면


EXCEL_DATANAME = data_type;  // 데이터 타입이름 저장

if(data_type == 'DATA1'){

DATA1.push($.trim(datalist[i]["COL2"]));

}


}


}

//만들어진 배열 확인

console.log("배열  DATA1 " , DATA1);


만들고 보니 간단한데..

머리가 나쁜지.. 삽질.. 실제데이터는 좀 더 복잡하긴 하지만... 


특이하게  아래코드가 배열 푸시가 안됨

ex) data_type.push($.trim(datalist[i]["COL2"]));

변수이름이.push 방법 찾아보다 포기...


해당 부분만 되었어도 코드가 깔금하고 여러 데이터 타입을 추려낼때도 노가다 코드가 필요없을것 같다.


오늘의 삽질기 종료

반응형