Как искать и читать файл Excel в php - PullRequest
0 голосов
/ 31 октября 2019

Мне бы хотелось, чтобы кто-нибудь помог мне найти решение двух моих проблем: у меня есть файл excel с 2 столбцами (A и B)

Столбец 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;
                }
            }
        }
    }
}
?>
...