2014년 4월 13일 일요일

웹 페이지 엑셀 다운로드시 숫자를 문자로 출력

웹 페이지를 엑셀로 저장하여 다운로드 받는 기능을 구현 했을 때.
아주 긴 숫자(아주 큰값)를 출력했을 경우 "3.0001E+11" 과 같이 표시가 될 경우가 있다.

이 경우 "Response.BinaryWrite(Encoding.Unicode.GetPreamble());" 속성을 추가하면 해결할 수 있다.

Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
Response.Charset = "euc-kr"; 
Response.ContentEncoding = Encoding.Unicode;
Response.BinaryWrite(Encoding.Unicode.GetPreamble());
Response.ContentType = "application/vnd.ms-excel";