2010-01-06 5 views
4

내 ASP.NET 응용 프로그램에서 Customer에 CSV 응답으로 DataTable을 작성해야합니다. 숫자가있는 열을 제외한 모든 것이 올바르게 작동합니다.ASP.NET CSV 응답, Excel 지수 형식 문제

예 : 7002136138603600000

하지만 Excel에서 CSV를 열 때, 그것은 지수 형식으로 보여주고있다. 이 같은

뭔가 : 7E + 18

당신이 나 대신 지수 형식으로 테스트 이러한 값을 표시하기 위해 수행해야 할 무엇인지 알려 주시기 바랍니다 수 있을까요?

덕분에, 마헤

답변

1

csv로 번호 형식에 대해서는, 여기 확인 : http://support.microsoft.com/kb/214233


나는 엑셀 여러 번에 수출했다. Gridview의 출력을 HtmlTextWriter를 사용하여 String 빌더에 쓰면 응답을 보낼 수 있습니다.

당신은이 일을 두 가지 예 찾을 수 있습니다

: http://geekswithblogs.net/azamsharp/archive/2005/12/21/63843.aspx

  • 준비 만든 유틸리티 클래스 http://mattberseth.com/blog/2007/04/export_gridview_to_excel_1.html
  • 더 많은 검색 결과 : 손으로

    0

    텍스트 편집기에서 파일을 열고 당신은 가능성이 숫자가 올바르게 내보내는 것을 발견 할 것이다. Excel은 일부 긴 숫자의 경우 지수 형식으로 기본 설정됩니다.

    +0

    As는 고객 화면에서 열리고 기본적으로 CSV는 Excel에서 열립니다. 그래서 고객에게 메모장에서 열어달라고하는 것은 약간 힘듭니다. 이것에 대한 다른 해결 방법이 있습니까 ?? – Mahesh

    +0

    문자열로 내보내기 시도 - Excel에서는 여전히 괜찮아 보입니다. –

    0

    CSV 여야합니까? 그렇다면 Excel의 기본 동작에 상당히 집착하고 있습니다.

    CSV 일 필요가없는 경우 표시 형식을 훨씬 정밀하게 제어 할 수있는 Excel XML 형식을 살펴보십시오 (Excel 내에서 수행 할 수있는 모든 작업을 XML 파일 문자열에서 수행 할 수 있음) . 물론 이것은 Office 2003 이상에서만 지원됩니다.

    1

    CSV로 할 수 없습니다. Excel로 시험해보십시오. 셀에 "7002136138603600000"값이있는 스프레드 시트를 작성하고 작은 따옴표 (')를 붙여 텍스트임을 나타냅니다. Excel이 전체 ​​번호를 올바르게 표시합니다. CSV로 저장하십시오. 다시로드하십시오. 숫자는 지수 형식을 사용하여 표시됩니다.

    또는 HTML을 사용할 수 있습니다. HTML 루트에 xmlns : x = "urn : schemas-microsoft-com : office : excel"네임 스페이스를 추가하고이 속성에서 td 요소에 네임 스페이스를 추가합니다.

    x:str="'7002136138603600000" 
    

    Excel에서 텍스트로 표시합니다. 좀 더 완벽한 예를 들어 언급 한 것처럼 Excel 문서를 만들고 html로 저장하십시오.

    고객이 Excel 2003 이상을 사용하는 것으로 알고있는 경우 XML을 사용할 수도 있습니다.

    -1

    숫자가 모두 자릿수 인 경우 해당 숫자를 모두 추가하고 숫자가 모두 자릿수인지 확인한 다음 true이면 숫자에 asi 32를 추가합니다 (필요한 경우 문자열로 변환). Microsoft의 CSV 파일에서 2007 및 Windows 7을 테스트하고 제대로 작동하지만 이전 버전은 확실하지 않습니다.