Not a Pwntester
Not a Pwntester

Reputation: 25

Cannot Get Formula Result From Excel by PHPExcel

I have a problem with my import function, in some cells of excel I have formula like picture below

enter image description here

and why I can't get formula result ? I was search on google there are said to use getCalculatedValue or getFormattedValue but I don't know how to implemented to my script , here is my following code :

$inputFileName =  './public/uploads/excel/'.$uploaded['file_name'];
        try {
            $inputFileType = IOFactory::identify($inputFileName);
            $objReader = IOFactory::createReader($inputFileType);
            $objPHPExcel = $objReader->load($inputFileName);
        } catch(Exception $e) {
            die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
        }

        $sheet = $objPHPExcel->getSheet(0);
        $highestRow = $sheet->getHighestRow();
        $highestColumn = $sheet->getHighestColumn();

        for ($row = 3; $row <= $highestRow; $row++){                  //  Read a row of data into an array                 
            $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);

             $data = array(
                "part_no"           => $rowData[0][0],
                "part_revised_no"   => $rowData[0][1],
                "part_latest_no"    => $rowData[0][2],
                "part_desc"         => $rowData[0][3],
                "part_incoming_date"=> $rowData[0][4],
                "part_fob_japan"    => $rowData[0][5],
                "part_min_order"    => $rowData[0][6],
                "part_master_key1"  => $rowData[0][7],
                "part_total_stock"  => $rowData[0][8],
                "part_stock_j"      => $rowData[0][9],
                "part_stock_b"      => $rowData[0][10],
                "part_stock_s"      => $rowData[0][11],
                "part_stock_m"      => $rowData[0][12],
                "part_rak"          => $rowData[0][13],
                "part_last_opname"  => $rowData[0][14],
                "part_discontinued" => $this->convDiscontinued($rowData[0][15]),
                "part_mesin_code"   => $rowData[0][16],
                "part_srp"          => $rowData[0][17],
                "part_srp_cod"      => $rowData[0][18],
                "part_supv_price"   => $rowData[0][19],
                "part_mgr_price"    => $rowData[0][20],
                "part_dtr_price"    => $rowData[0][21],
                "part_keterangan"   => $rowData[0][22],
            );

            $insert = $this->db->insert("sparepart", $data);
            // unlink($uploaded['file_path']);
        }

Upvotes: 0

Views: 197

Answers (1)

j.Frederic
j.Frederic

Reputation: 101

You can do this :

$data = array( "part_no" => $sheet->getCellByColumnAndRow(0,0)->getCalculatedValue())

Upvotes: 1

Related Questions