JS 정규식으로 원하는 태그 제거하기 ( 테이블표 엑셀출력 과정 JS EXCEL DOWN )

2022. 5. 20. 11:48Dev

반응형
    function tableToExcel(id, title) {
        var data_type = 'data:application/vnd.ms-excel;charset=utf-8';
        var table_html = encodeURIComponent(document.getElementById(id).outerHTML.replace(/<(\/a|a)([^>]*)>/gi, ""));
        var a = document.createElement('a');
        a.href = data_type + ',%EF%BB%BF' + table_html;
        a.download = title + '.xls';
        a.click();
    }

위와 같은 함수를 사용해서 html의 table코드 그대로 엑셀로 다운받게 하는 과정에서

table코드 안에 있는 a태그로 감싸진 내용들이 있었다.

엑셀로 다운시 셀에 링크가 걸리고 하이퍼링크처럼 푸른빛으로 변경되었고

내가 지정했던 font-color가 하나도 적용되지 않고 있었다.

 

그래서 다운받을 떄는 TABLE안에 HTML코드에서 A태그만 제거하기 위해서 아래 와같이

document.getElementById(id).outerHTML.replace(/<(\/a|a)([^>]*)>/gi, "");

정규식을 사용해서 a태그를 모두 제거하였다.

 

그리고 셀에 내가 지정한 font-color가 정상적으로 적용되었다.

반응형