2016-10-27 16 views
0

일반 형식의 Excel 파일에 셀이 있습니다. 이 셀의 값은 내가 가지고 셀 읽을 때, phpexcel을 사용PHP - PHPExcel의 셀을 xls 파일에 그대로 두십시오.

1,99 
10,88 

이다 : 나는 원래 값 1.99을 얻을 수있는 방법

1.99 
10.88 

를?

나는

$sheet->getCell("C2")->getValue(); 
$sheet->getCell("C2")->getFormattedValue() 

을 시도했지만 모두 반환

1.99 
10.88 
+0

셀에는 문자열 형식을 사용해야하며 번호는 – nogad

+0

이 아닙니다. 사용자가 엑셀 파일을 업로드하고 기본적으로 형식은 일반입니다. 그들이 일반 형식으로 1,9를 입력하면 Excel에서 그 것처럼 유지 ... – ricardo

답변

2

PHPExcel 가능성의 로케일 MS 엑셀의 모든 사용자 버전의 구성 설정 및 취급을 알 수 없다 로켈 별 서식 (예 : 점이 아닌 십진수 쉼표)은 MS Excel 자체의 인스턴스에만 해당됩니다. MS Excel 사본에 같은 파일을 열면 소수점이 표시됩니다. 즉, 로컬 설정이 파일에 정의되어 있지 않습니다.이 파일은 순전히 MS Excel GUI에 있습니다.

사용자 로캘에 맞게 서식을 지정해야하는 경우 getValue()을 사용하여 원시 데이터를 검색하고 PHP의 Intl NumberFormatter을 사용하여 형식을 현지화하십시오.

+0

행이 일반인지 여부를 감지하는 방법이 있습니까? 숫자가 맞는지 확인하고 Intl NumberFormatter로 변환 할 수 있습니다. 일반 및 텍스트 모두 -> getDataType 반환 's'... – ricardo

+0

"일반"형식 마스크 설정입니다 : $ sheet-> getStyle ('A1') -> getNumberFormat() -> getFormatCode()' –

+0

감사합니다. 당신은 맞습니다 – ricardo

관련 문제