재우니의 블로그





엑셀을 asp.net GridView 컴포넌트에 출력할 경우, 엑셀 값 중에 문자값인 002675 가 존재하면 GridView 가 자동적으로 이를 숫자로 인식하여 2675로 표기하는 문제가 발생합니다.
따라서 이 부분에 대해 style 로 아래와 같이 문자값을 출력할 특정 row 의 cell 부분에 스타일 값을 할당해 주면 문제없이 앞에 0 값이 빠지지 않은 문자형태로 보여줍니다.
스타일에 ‘mso-number-format’ 를 기재하면 해결이 되지요.


Example Code 

e.Row.Cells[i].Attributes["style"] = "mso-number-format:\\#\\,\\#\\#0\\.00_\\)\\;\\[Black\\]\\\\(\\#\\,\\#\\#0\\.00\\\\)";



아래는 문자형태 말고도 금액, 날짜, 퍼센트, 숫자형태에 대해서도 조작하는 방법을 보여줍니다.



mso-number-format:"0" No Decimals
mso-number-format:"0\.00" 2 Decimals
mso-number-format:"mm\/dd\/yy" Date format
mso-number-format:"m\/d\/yy\ h\:mm\ AM\/PM" D -T AMPM
mso-number-format:"Short Date" 05/06/-2008
mso-number-format:"Medium Date" 05-jan-2008
mso-number-format:"Short Time" 8:67
mso-number-format:"Medium Time" 8:67 am
mso-number-format:"Long Time" 8:67:25:00
mso-number-format:"Percent" Percent - two decimals
mso-number-format:"0\.E+00" Scientific Notation
mso-number-format:"\@" Text
mso-number-format:"\#\ ???\/???" Fractions - up to 3 digits (312/943)
mso-number-format:"\0022£\0022\#\,\#\#0\.00" £12.76
mso-number-format:"\#\,\#\#0\.00_ \;\[Red\]\-\#\,\#\#0\.00\ " 2 decimals, negative numbers in red and signed
(1.86 -1.66)
mso-number-format:”\\#\\,\\#\\#0\\.00_\\)\\;\\[Black\\]\\\\(\\#\\,\\#\\#0\\.00\\\\)” Accounting Format –5,(5)