PHPexcel检查配方是否生成列值

时间:2016-05-04 02:22:28

标签: php excel phpexcel

我使用ms excel将大数据上传到我的系统。当我上传由配方制作的列的excel文件。上传时间比平时长。现在,我想检查输入的excel文件是否有效。如果他们有配方制作的列,系统将取消progess。我已经阅读了phpexcel doucment,但没有找到任何解决方案。 你有什么想法? 我的来源

我的来源:    $ objReader-> setReadDataOnly(真);

                $objPHPExcel = $objReader->load($uploaded_dir . DIRECTORY_SEPARATOR . $new_name);
                $objWorksheet = $objPHPExcel->setActiveSheetIndex(0);

                $highestRow = $objWorksheet->getHighestRow(); // e.g. 10
                $total_order_row = $highestRow;

                $highestColumn = $objWorksheet->getHighestColumn(); // e.g 'F'
                $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); // e.g. 5

for($ i = 1; $ i< = $ highestRow; $ i ++){                         $ data1 = $ objWorksheet-> getCellByColumnAndRow(0,$ i) - > getValue();

                    $data2= $objWorksheet->getCellByColumnAndRow(1, $i)->getValue();

                    $data3= $objWorksheet->getCellByColumnAndRow(2, $i)->getValue();
                    //Todo: insert to db

                }

1 个答案:

答案 0 :(得分:0)

如果"按食谱"你的意思是计算,然后检查单元格的数据类型而不是值:

if ($objWorksheet->getCellByColumnAndRow(1, $i)->getDataType() == PHPExcel_Cell_DataType::TYPE_FORMULA) {
    echo 'I contain a formula; use getCalculatedValue() to get my value';
}