2013-05-14 3 views
1

SQL Server에 CSV 파일로 .txt 또는 .csv로 출력되는 여러 datetime 필드가 있습니다. Excel 2010에서 .csv 파일을 자동으로 열면 날짜/시간 형식이 mm : ss.0으로 형식화되고 날짜 부분이 완전히 삭제됩니다.CSV 파일을 Excel 2010 형식으로 날짜/시간 필드로 변환

나는 이것을 읽고 : Opening a CSV file in excel changes my formats이 : 여기 Date format that is guaranteed to be recognized by Excel

는 CSV 파일 (.txt)로 저장 원시 텍스트의 조각입니다. 날짜 부분은 ISO 형식입니다. 시간 부분에 밀리 초가 있습니다. 여기

"EVENTSTARTDATE","EVENTTITLE","PURCHASEDATE" 
"2013-04-17 00:00:00.0","Test Event","2013-04-17 15:06:27.56" 

Excel에서 서식입니다 :

EVENTSTARTDATE EVENTTITLE PURCHASEDATE 
00:00.0   Test Event 06:27.6 

필드를 클릭하면이 값을 보여

나는 ... "셀 서식"에 가서 보면
EVENTSTARTDATE      PURCHASEDATE 
4/17/2013 12:00:00 AM    4/17/2013 3:06:28 PM 

필드 형식은 "사용자 지정"및 "mm : ss.0"입니다. 날짜 형식으로 형식을 다시 지정할 수 있으며 제대로 작동하므로 데이터 자체가 정확합니다. Excel에서 시간 부분 만 서식을 지정하는 이유와 시간을 왜 버리는 이유는 무엇입니까? 필드 유형이 "일반"이면 Excel이 datetime 데이터를 구문 분석 할 수 없습니까?

기타 관련 정보 : ColdFusion 9를 사용하고 있으며 CreateODBCDateTime() 함수를 사용하는 코드가 있습니다.

<cfif isDate(raw)> 
    <cfset raw = CreateODBCDateTime(raw)> 
</cfif> 
+0

내가 CF9에 소개 된 cfspreadsheet 태그에 보는거야 : http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec17cba-7f87.html는 참고 – Revent

+0

: 미래의 질문에, 당신은 할 수 있습니다 더 넓은 시청 잠재 고객을 유치하기 위해 주요'coldfusion' 태그를 포함시켜야합니다 :) – Leigh

+0

제안에 감사드립니다. @Leigh, 나는 그렇게 할 것입니다. – Revent

답변

1

문제가 해결되었습니다. 함수 호출은이 함수의 코드에 묻어 있습니다.

<cffunction name="QueryToCSV" access="public" returntype="string" output="false" hint="Converts a query to a comma separated value string."> 
     <cfargument name="Query" type="query" required="true" hint="the query being converted to CSV"> 
     <cfargument name="Headers" type="string" required="false" default="#arguments.query.columnList#" hint="the list of field headings to be used when creating the CSV value"> 
     <cfargument name="Fields" type="string" required="false" default="#arguments.query.columnList#" hint="the list of query fields to be used when creating the CSV value"> 
     <cfargument name="lstDateTimeFields" type="string" required="false" default="" hint="the list of fields that should be output in a date/time format"> 
     <cfargument name="CreateHeaderRow" type="boolean" required="false" default="true" hint="flags whether or not to create a row of header values"> 
     <cfargument name="Delimiter" type="string" required="false" default="," hint="the field delimiter in the CSV value"> 

     <!--- 
      Author: 
      Ben Nadel 

      Link: 
      http://www.bennadel.com/blog/1239-Updated-Converting-A-ColdFusion-Query-To-CSV-Using-QueryToCSV-.htm 
     ---> 
... 
</cffunction> 

이것은 쿼리를 CSV로 변환하는 데 사용 된 것입니다. 올바른 필드 이름을 사용하여 lstDateTimeFields 인수를 설정하면 Excel 파일에서 올바르게 형식이 지정됩니다.