javascript로 excel 다운할 때 input요소 안나타나도록 할 수 없나요?

javascript로 excel 다운할 때 input요소 안나타나도록 할 수 없나요?

QA

javascript로 excel 다운할 때 input요소 안나타나도록 할 수 없나요?

본문

3530653034_1527496939.2401.png

 

javascript로 엑셀을 다운받고 있는데 위에처럼 input 체크박스와 텍스트 요소가 나타납니다.

그냥 일반 숫자나 글처럼 나타나도록 할 수 없을까요?

코드는 아래와 같이 사용하고 있습니다..

도움부탁드려요. ㅠ

css적용 방법도 같이부탁드립니다....


        $(document).ready(function(){
            function itoStr($num){
                $num < 10 ? $num = '0'+$num : $num;
                return $num.toString();
            }
            var btn = $('#btntest');
            var tbl = 'test';
            btn.click(function(e){
                var dt = new Date();
                var year = itoStr( dt.getFullYear() );
                var month = itoStr( dt.getMonth() + 1 );
                var day = itoStr( dt.getDate() );
                var postfix = year + month + day;
                var fileName = "test"+ postfix + ".xls";
                var a = document.createElement('a');
                var data_type = 'data:application/vnd.ms-excel';
                var table_div = document.getElementById( tbl );
                var table_html = table_div.outerHTML.replace(/ /g, '%20');
                a.href = data_type + ', ' + table_html;
                a.download = fileName;
                a.click();
                e.preventDefault();
            });
        });

이 질문에 댓글 쓰기 :

답변 1

상세한 코드에 대해서는 잘 알지 못합니다만, 로직을 대략 다음과 같이 하면 되지 않을까 합니다.

 

* 로직 : 엑셀 처리 직전에, 제외하고자 하는 셀 하이드 (또는 삭제)

 

$('input[type=text]').closest('td').hide(); // or $('input[type=text]').closest('td').remove();
$(':checkbox').closest('td').hide(); 
var table_div = document.getElementById( tbl );
var table_html = table_div.outerHTML.replace(/ /g, '%20');

 

이러한 방법이 기대한 것처럼 동작이 잘 될지는 모르겠습니다. 

(혹시나 참고가 될까 싶어 말씀드린 성격입니다.)

 

다른 방법은, jquery 를 사용하지 않고, php 로 excel library 를 이용하여 엑셀 다운로드를 구현하는 방법입니다.

/adm/sms_admin/num_book_file_download.php 파일의 소스를 응용하면,

DB 의 내용을 원하는 형태로 엑셀저장하는 것이 가능합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 196
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT