엑셀리더를 이용하여 음수를 받았을경우 양수로 변합니다.
본문
위 이미지처럼 엑셀을 만들었습니다.
$file = $_FILES['excelfile']['tmp_name'];
include_once(GML_LIB_PATH.'/Excel/reader.php');
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('UTF-8');
$data->read($file);
error_reporting(E_ALL ^ E_NOTICE);
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
$j = 1;
$us_product = trim(addslashes($data->sheets[0]['cells'][$i][$j++]));
$us_money = trim(addslashes($data->sheets[0]['cells'][$i][$j++]));
echo $us_money;
}
위처럼 하니..
1014583924 란 숫자가 찍혀버리네요 ㅠ.ㅠ
음수가 왜 양수로 바뀌죠?
음수를 -59157900 이 아닌 -490000 으로 지정하여 하면 또 -490000 으로 잘 나옵니다.
이유를 모르겠네요...
!-->답변 4
$us_money = intval( trim(addslashes($data->sheets[0]['cells'][$i][$j++])) );
형식을 정수형으로 바꿔보시고 해보세요
$j = 1 을 for문 밖에서 선언했어야 하지 않나요?
=number_format(trim(addslashes($data->sheets[0]['cells'][$i][$j++])));
리더를 PHPExcel 로 변경하여 해결하였습니다.
답변을 작성하시기 전에 로그인 해주세요.