$k = $objWorksheet->getCell('K' . $i)->getValue();
K의 셀 값이 "숫자" 라서 오류가 납니다.
이 숫자를 string값으로변경 하려고 하는데 어떻게 해줘야 하나요?
|
답변 1개 / 댓글 3개
채택된 답변
+20 포인트
2020-06-25 (목) 20:44:48
엑셀에서 저장할때 문자 '100로 하면 문자로 저장합니다.
$k 타입형을 변경하실려고 하시는거라면
Copy
$k = (string) $objWorksheet->getCell('K' . $i)->getValue();
$k = $objWorksheet->getCell('K' . $i)->getFormattedValue();
https://stackoverflow.com/questions/17143236/phpexcel-set-cell-type-before-writing-a-value-in-it
답변에 대한 댓글 3개
2020-06-25 (목) 21:00:12
베어님 감사합니다. 그런데 여전히 에러가 납니다. 엑셀 파일을 자세히 보니 해당 셀이 "사용자지정타입" 으로 되어있습니다. 숫자값이 있는데 타입이 "사용자 지정타입"입니다. 이것때문에 안되는 것일까요?
2020-06-25 (목) 21:02:35
// 날짜 형태의 셀을 읽을때는 toFormattedString를 사용한다.
$h = PHPExcel_Style_NumberFormat::toFormattedString($h, 'YYYY-MM-DD');
원본의 예제인데. 셀타입이 date일때의 방법입니다.
제가 가진 엑셀은 "사용자설정포멧" 으로 되어있는데 위 코드를 가지고 수정을 하면 될것 같은데 잘 되지 않습니다 ㅠㅠ
$h = PHPExcel_Style_NumberFormat::toFormattedString($h, 'YYYY-MM-DD');
원본의 예제인데. 셀타입이 date일때의 방법입니다.
제가 가진 엑셀은 "사용자설정포멧" 으로 되어있는데 위 코드를 가지고 수정을 하면 될것 같은데 잘 되지 않습니다 ㅠㅠ
2020-06-25 (목) 21:15:33
사용자지정포멧이 아래 링크에 존재한다면 해당 형식을 지정해서 가져와 보세요
->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_GENERAL );
or
->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_TEXT );
http://apigen.juzna.cz/doc/ouardisoft/PHPExcel/class-PHPExcel_Style_NumberFormat.html
->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_GENERAL );
or
->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_TEXT );
http://apigen.juzna.cz/doc/ouardisoft/PHPExcel/class-PHPExcel_Style_NumberFormat.html
답변을 작성하려면 로그인이 필요합니다.