PHPEXCEL getCalculatedValue or getFormattedValue returns fatal error

โดย SONGCHAI SAETERN

PHPEXCEL กับปัญหาเรียกใช้งาน rangeToArray() ที่มีการผสานเซลล์ไม่ได้

ก่อนหน้านี้ใช้ PHP 5.5 ก็ไม่เคยมีปัญหาเรื่องเซลล์ที่ผสานกัน
จนลองอัพเกรด PHP เป็น 7.1 ก็พบว่า ฟังก์ชั่น rangeToArray() ใช้ได้เฉพาะแถวที่ไม่ผสานเท่านั้น

$rowTotalCheck = $sheet->rangeToArray ( 'A3:' . $highestColumn . '3', NULL, TRUE, FALSE );
$col = $rowTotalCheck[0];
$total_check = $col[6];
$total_dif     = $col[7];

 ก็เลยต้องเปลี่ยนไปใช้ getCell('G3')->getValue();
$total_check = $sheet->getCell('G3')->getValue();
$total_dif= $sheet->getCell('I3')->getValue();

แต่ปรากฏว่า I3 เป็นสูตร SUM() ก็ได้ออกมาเป็นข้อความเฉยๆ

ก็เลยต้องหากันต่อไปจนได้ฟังก์ชั่น getCell('I3')->getOldCalculatedValue()

$total_dif     = $sheet->getCell('I3')->getOldCalculatedValue();


เมื่อลองรันดูก็พบว่าผ่านฉลุย

อ้างอิง
https://stackoverflow.com/questions/29966752/phpexcel-getcalculatedvalue-or-getformattedvalue-returns-fatal-error

อ่านเรื่องราวการอัพเดตเพิ่มเติมได้ที่