首页 > 解决方案 > 如何在php中搜索和读取excel文件

问题描述

我希望有人帮我找到解决我的两个问题的方法:我有一个包含 2 列(A 和 B)的 excel 文件

A 列包含我必须分配给订单号的条形码编号(在 B 列中)。下面是一个例子:

COLUMN A....................COLUMN B
barcode.........................order number

12345678*******************35098
98765432 ******************35433
45454545
66554433
98766334 *******************43221

我正在寻找的是以下内容:

从给定的订单号(在变量中),我想知道它是否存在于 B 列中,如果是,我想恢复它的条形码。

如果它不存在,我想将此订单号添加到 B 列的一个空单元格中,然后检索已分配给它的条形码。

所有这些都使用 PHPExcel ...我尝试了一些,但我阻止了...如果有人可以帮助我,我将非常感谢他。

谢谢

PS:小精度,如果非要知道A列的非空行数,我们就说有1000行

这就是我所做的。此代码仅检查订单号是否存在。但我不确定这是否是最好的方法:

使用此代码,我知道订单号是否存在于文件中。我现在的问题是如果B列中存在订单号,如何获取条形码号,或者如果它不存在,如何在其中一个空单元格中添加订单号并检索相应的条形码

感谢大家的帮助

<?php
$orderNumber = 12341;


function searchOrder ($num){

    /** PHPExcel_IOFactory */
    require_once 'Classes/PHPExcel/IOFactory.php';

    $objReader = PHPExcel_IOFactory::createReader('Excel2007');
    $objPHPExcel = $objReader->load("barreCode_ordernumber.xlsx");


    $foundInCells = array();
    $ordernumber = $num;
    foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
        foreach ($worksheet->getRowIterator() as $row) {
            $cellIterator = $row->getCellIterator();
            $cellIterator->setIterateOnlyExistingCells(false);
            foreach ($cellIterator as $cell) {
                    $numligne = $cell->getRow();
                    $numcolonne = $cell->getColumn();
                if ($cell->getValue() == $ordernumber) {
                    return true;
                }
            }
        }
    }
}
?>

标签: phpphpexcelphpexcelreader

解决方案


推荐阅读