2017-01-22 13 views
0

C 열의 셀에 Date (short) 형식의 .xlsx 파일이 있습니다. 셀에는 30.1.2017 형식의 날짜가 표시됩니다. 당신이 General에 세포 형식을 전환하면PHPExcel - 셀 서식을 "날짜 (짧음)"로 설정하고 문자열의 날짜를 삽입하십시오.

이 같은 번호가 표시됩니다 42765.

내가 새로운 컬럼의 C 세포에 새로운 라인을 설정 포맷 날짜 (짧은)를 삽입하고 날짜를 삽입 할 필요가 I 끈으로 묶어 라. 적절한 예를 찾을 수 없습니다. 어떻게 할 수 있니?

답변

0

MS Excel은 1900 년 1 월 1 일 (또는 Mac에서 작성된 경우 1904 년 1 월 1 일) 이후의 일수를 직렬화 된 시간 소인 값으로 저장합니다. 이는 사용자의 42765 값입니다.

PHPExcel은 PHPExcel_Shared_Date 클래스에서 찾을 수있는 날짜 처리를위한 여러 가지 기능을 제공합니다.

PHPToExcel() 메서드를 사용하여 유닉스 타임 스탬프 또는 PHP DateTime 객체를 MS Excel 직렬화 된 타임 스탬프로 변환 할 수 있습니다. 날짜에 문자열 값이 있으면 먼저 PHP DateTime 객체로 변환하십시오. 그런 다음 셀 값을 결과 타임 스탬프 값으로 설정하고 숫자 형식 마스크를 적용하여 Excel에 날짜 표시 방법을 알릴 수 있습니다. Examples 폴더에있는 02types.php 예는이 보여줍니다

$dateTimeNow = time(); 
$objPHPExcel->getActiveSheet() 
    ->setCellValue('C9', PHPExcel_Shared_Date::PHPToExcel($dateTimeNow)); 
$objPHPExcel->getActiveSheet() 
    ->getStyle('C9') 
    ->getNumberFormat() 
    ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2); 

을 그리고 그것은 또한 PHPExcel Documentation

에 설명되어 있습니다