반응형
엑셀파일에 있는 데이터를 그대로 화면으로 옮기기 위한 소스
엑셀의 데이터는 줄이 \n으로 구분되고 각 셀의 경우 \t로 구분된다.
따라서 \n과 \t로 구분해주어 데이터를 가공해 줄 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | //TextArea 데이터 테이블로 치환 function generateTable() { var data = $('textarea[name=excel_data]').val(); var rows = data.split("\n"); var table = $('<table />'); for(var y in rows) { var cells = rows[y].split("\t"); var row = $('<tr />'); for(var x in cells) { row.append('<td>'+cells[x]+'</td>'); } table.append(row); } $('#excel_table').html(table); } |
TextArea를 하나 만들어 엑셀 데이터를 붙여넣기 한 뒤 함수를 실행하면
엑셀에 있던 형태 그대로 테이블을 생성.
이것을 응용하면 자기 입맛에 맞게 데이터를 가공할 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | //TextArea의 데이터를 파싱 function generateData(){ var data = $('textarea[name=excel_data]').val(); var rows = data.split("\n"); var name = ["a", "b", "c", "d", "d"]; var jsonArr = []; for ( var i in rows) { var cells = rows[i].split("\t"); var json = new Object(); var pass = true; for ( var j in cells) { if(cells[0] == "" || cells[0] == null || cells[0] == undefined){ pass = false; continue; }else{ json[name[j]] = cells[j]; } } if(pass){jsonArr.push(json);}; } return jsonArr; } | cs |
나의 경우 json 데이터가 있는 배열을 만들려고 가공했다.
반응형
'프로그래밍 > JavaScript' 카테고리의 다른 글
ECMA6 - 템플릿 리터럴 (0) | 2019.04.25 |
---|---|
ECMA6 - Let, Const (0) | 2019.04.24 |
무한스크롤 / 스크롤 페이징처리 (0) | 2018.08.10 |
시간단위로 선택 가능한 SelectBox 만들기 (0) | 2018.07.13 |
웹에서 클립보드로 카피하기 (0) | 2018.05.15 |