2013-04-30 4 views
4

CSV 파일에 날짜/시간 열이 있는데이 형식으로 변환하려면 PHP를 사용했습니다. 02/18/2013 03:53:48 PMexcel에서 CSV 파일을 열면 내 형식이 바뀝니다

그러나이 파일은 엑셀에서 열 때 모든 형식이 형식으로 변경 , 나를 보거나 처리하는 2013년 2월 18일 15시 53분

지금이 문제가되지 않을 것입니다 만 나는 최종 사용자가 Excel에서 24 시간 형식으로 시간을 볼 필요가 없길 원합니다. csv가 열리면 내 형식을 변경하지 않고 최종 사용자가 아무 문제없이이 DateTime 열을 정렬 할 수있게하려면 어떻게해야합니까? 나는 파일을 열면 셀 서식을 변경하여 날짜 형식을 변경할 수 있지만 최종 사용자가이 단계를 수행하기를 원하지 않는다는 것을 알고 있습니다.

또한 셀을 선택하면 수식 표시 줄에 내 DateTime 열이 형식으로 표시된다는 것을 지적하고 싶습니다.

답변

5

CSV 파일에는 형식이 없으며 데이터 만 포함됩니다.

MS Excel은 해당 데이터를 검사하여 해당 형식을 설정하려고합니다. 예를 들어 숫자 값을 오른쪽 정렬합니다. 사람이 읽을 수있는 날짜/시간 값을 포함하는 문자열을 인식하고이를 내부 timestammp 값 (부동 소수점 숫자로 표시)으로 변환 한 다음 적절한 날짜/시간 마스크를 해당 셀에 적용하여 스타일이 날짜 또는 시간이지만 CSV 파일에있는 문자열 표현을 사용할 필요는 없습니다.

해결 방법 # 1, 형식이 지정된 날짜 문자열 앞에 = 기호를 붙이고 따옴표로 묶어서 문자열로 처리하십시오.

솔루션 # 2, 셀 서식을 제어 할 수있는 실제 Excel 파일을 작성하십시오.

+1

글쎄 날짜를 문자열로 바꾼다면 가장 오래된 것부터 가장 오래된 것까지 정확하게 정렬 할 수 없습니다. (최종 사용자가 엑셀을 사용하고자하는 이유 일 수 있습니다). –

+0

그 해결책은 # 2 해결책을 남겨 두는 단점입니다. 서식을 사용할 수있는 것과 같은 이점이 있습니다 (예 : 굵은 머리글 행, 고정 된 창, 조건부 서식 등). –

+0

Well Option 2는 유일한 옵션 일 수 있습니다 해결책. 귀하의 의견을 보내 주셔서 감사합니다. –

1

최종 Excel 파일의 형식을 제어하려면 데이터를 해당 형식으로 출력하고 그에 따라 PHP Excel 라이브러리를 사용하여 수정해야합니다. 어떤 라이브러리를 사용하기로 결정했는지 모르겠으므로 정확히 어떻게하는지 설명 할 수는 없습니다. 당신은 그냥 출력 CSV는 다음 Excel은 당신이 원하는 것과 다를 수 있습니다 형식에 대한 사용자의 기본 설정을 열 경우 내가 성공

의 어느 정도 http://phpexcel.codeplex.com/을 사용했습니다

.

+0

로 날짜/시간 값을 저장할 수 있도록 텍스트로 하나의 직선 따옴표로 rpeceded되는 것을 볼 수 있습니다. –

0

시간이 표시되는 방식은 Windows의 설정 또는 사용자가 Office를 다른 것으로 설정 한 경우 Office에서 설정하는 것입니다. 열 때 Excel 응용 프로그램으로 포맷 된 날짜/시간 형식이 아닌 것을 원한다면 처음부터 날짜/시간을 지정해서는 안됩니다.

엑셀은 내가 이것 좀 걸릴 것 "'02/18/2013 03:53:48 PM"

+0

네,이 질문에 대한 답을 알고 있지만 Excel에서 어떤 작업을 수행하고 싶지 않습니다. 형식이 그대로 유지되고 싶었습니다. 분명히 가능하지 않습니다. –

+0

죄송합니다. 실제로 찾고있는 답변에 맞게 답변을 변경했습니다. –

관련 문제