ふたりで

excelexportjs 사용시 숫자를 문자로 인식 시키기 본문

javascript

excelexportjs 사용시 숫자를 문자로 인식 시키기

graykang 2021. 12. 9. 16:02
728x90
반응형
SMALL

excelexportjs를 사용하여 테이블 내용을 엑셀 파일로 저장할 때 숫자 형식의 text 즉 0으로 시작하는 전화번호 또는

바코드 번호 등과 같이 자릿수가 긴 경우 엑셀에서는 숫자형으로 인식을 하여 비정상적??으로 표시를 해준다.

css 또는 style에 mso-number-format:"\@"; 옵션을 주면 숫자를 문자 형식으로 인식을 할 수 있게 된다고 하여

아래와 같이 적용해보았다.

<style>
.xlsnumberFormat {
mso-number-format:"\@";
}
</style>

<td class="xlsnumberFormat">123456789012345</td>

결론: 안 먹힌다;;;;

 

아래와 같이 스타일을 직접 박아줘도 안 먹힌다;;;;;

<td style="mso-number-format:'\@';">123456789012345</td>

- 엑셀 파일 생성 부분 소스는 아래와 같다.

728x90
반응형
SMALL
       var btn = $('#btnExport');
       var tbl = 'bodyContent';

       btn.on('click', function () {
        var dt = new Date();
        var year =  itoStr( dt.getFullYear() );
        var month = itoStr( dt.getMonth() + 1 );
        var day =   itoStr( dt.getDate() );
        var hour =  itoStr( dt.getHours() );
        var mins =  itoStr( dt.getMinutes() );

        var postfix = year + month + day + "_" + hour + mins;
        var fileName = "파일_"+$('#_bizname').text()+ postfix + ".xls";

        var uri = $("#"+tbl).excelexportjs(
					{
						containerid: tbl
						, datatype: 'table'
						, worksheetName:$('#sord_mart_bizname').text()
						, returnUri: true
					}
        		);

         $(this).attr('download', fileName).attr('href', uri).attr('target', '_blank');

하지만 여기저기 기웃거리다 아래와 같은 해결 방법을 찾았다!!!

Zero width space

<td>&#8203;123456789012345</td>

<td>&#8203;+item.goodsBcode</td>

엑셀 파일에서도 잘 표현이 된다.

 

출처: https://m.blog.naver.com/wizardry0629/221583824901

728x90
반응형
LIST
Comments