ASP가 쿼리 결과를 Excel의 ID 번호로 내보내는 문제 해결
저자:Eve Cole
업데이트 시간:2009-06-23 17:01:06
최근 asp를 사용하여 access 데이터베이스의 쿼리 결과를 엑셀 파일로 내보낼 때 내보낸 엑셀 파일에서 한 필드가 ID 번호이기 때문에 문제가 발생했습니다. 모든 ID 번호의 마지막 세 자리가 0이 되었습니다! 얼마나 우울한가! 온라인으로 확인한 결과, Excel의 기본 숫자 형식은 입력된 11자리만 정상적으로 표시할 수 있는 "일반"이라는 것을 알았습니다. 숫자가 11자리를 초과하면 과학적 표기법으로 표시됩니다.
이 문제를 해결하기 위해 쿼리 데이터를 텍스트 데이터로만 표시할 수 있습니다. 다음은 코드의 일부입니다.
<%
'엑셀로 내보내기
rs = server.createobject("adodb.recordset") 설정
sqlstr="select * from tabname where"&searhsql '쿼리 문
rs.open sqlstr,oconn,1,3
%>
<%set fs = server.createobject("script_ing.filesystemobject")
'파일 저장
파일명="info.xls"
임시=파일 이름
filename=request.servervariables("appl_physical_path")&"\"+파일 이름
'기존 엑셀 파일 삭제
'fs.fileexists(파일 이름)이면
'fs.deletefile(파일명)
'끝나면
'-엑셀 파일 생성
myfile = fs.createtextfile(파일 이름,true) 설정
희미한 문자열, 응답 문자열
문자열=""
rs.fields의 각 x에 대해
strline= strline & x.name & chr(9)
다음
'엑셀을 할 테이블의 컬럼명을 먼저 적어주세요
myfile.writeline 문자열
rs.eof가 아닌 동안
문자열=""
rs.fields의 각 x에 대해
'여기서 데이터는 텍스트 유형으로 표시됩니다.
strline= strline & "="""&x.value &""""& chr(9)
다음
'엑셀에 테이블 데이터 쓰기
myfile.writeline 문자열
rs.movenext
향하게 하다
link="<a href=\" & temp & " title=eecel 테이블에 데이터 저장><font color=red><b>Excel 파일 내보내기</b></font></a> "
응답.링크 쓰기
myfile = 아무것도 설정하지 않음
fs=아무것도 설정하지 않음
RS.닫기
%>
예제 소스 코드 다운로드: http://code.knowsky.com/down/12254.html