기타등등/뭔가만들어보기

특정 페이지 테이블에서 텍스트 긁어오기

킹king 2020. 11. 22. 17:46
반응형

관리자페이지에 있는 테이블을 엑셀에 붙여넣어 작업할 일이 생길 것 같아 미리 만들어보기로 함.

 

게시판은 이렇게 생겼음.

 

No 이벤트명 휴대폰번호 이메일 닉네임 신청일시
1 기기변경 이벤트 1011112222 android@naver.com 안드 2020-11-20 12:30
2 번호이동 이벤트 1033334444 apple@gmail.com 애플 2020-11-22 15:34

 

var list = document.querySelector('.list');
var tr = list.querySelectorAll('tr');
var _v = [];

for(i=1; i<tr.length; i++) {
    _v[i] = tr[i].textContent;
    _v[i] = _v[i].split('\n');
    for(k=0; k<_v[i].length;k++) {
        _v[i][k] = _v[i][k].trim();
    }
    _v[i][3] = 0 + _v[i][3]; //휴대폰번호 앞에 0붙이기
    _v[i][3] = _v[i][3].replace(/(^02|^0505|^1[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{4})$/,"$1-$2-$3"); //하이픈 넣기
    _v[i][_v[i].length - 1] = '\n';
    _v[i].splice(0,2);
}

_v = _v.toString();
_v = _v.replaceAll(',', '	');

copy(_v);

 

[원하는 것]

1) 엑셀에 붙여넣었을 때 테이블 구조대로 보여주기

2) 원하는 이벤트명 데이터만 보여주기

 

 

=====

2020.11.20

저번에는 엑셀에 있는걸 웹에 옮기려니까 문제가 일어나더니 이번에는 웹에 있는걸 엑셀에 옮기는것도 수월하지가 않음 tr[?].textContent로 가져오면 이상하게 텍스트들에 공백이 생김. 그리고 trim()을 이용해도 이게 안없어짐 뭐냐??? 

 

 

2020.11.22

tr[?].textContent로 하면 _v[0] = "1      2 3    4"이거고

td[?].textContent로 하면 _v[0] = ["1        ", "2", " 3", "   4"] 이렇게 되니까 차라리 후자로 하는게 나중에 인덱스 잡아서 trim()해주는게 먹힘. 이유가 뭘까??? 공백이라는거...