Nextrp [CPP] RU + Many GEOs Игра на карте России | NEXTRP

Неверная координата ячейки phpExcel

cell phpexcel coordinate

6506 просмотра

2 ответа

6 Репутация автора

Я проверил, что при использовании vlookup для поиска в собственном листе "= vlookup (h2, A2: B2000, 2, False)" и возвращении значения из другого листа "= SupplierList! A2" и "= vlookup (SupplierList! H3, A2 : B2000, 2, False) "тоже хорошо.

так почему только "= vlookup (h3, SupplierList! A2: B2000, 2, False)" приводит к ошибке?

--------------------------- СООБЩЕНИЕ ОБ ОШИБКЕ --------------------- ----------

Fatal error: Uncaught exception 'Exception' with message 'PO!G2 -> Invalid cell coordinate A' in C:\Program Files\EasyPHP-5.3.6.0\www\ExcelImporter\Classes\PHPExcel\Cell.php:288 Stack trace: #0 C:\Program Files\EasyPHP-5.3.6.0\www\ExcelImporter\Classes\PHPExcel\Cell.php(204): PHPExcel_Cell->getCalculatedValue() #1 C:\Program Files\EasyPHP-5.3.6.0\www\ExcelImporter\Documentation\Examples\index.php(36): PHPExcel_Cell->getFormattedValue() #2 {main} thrown in C:\Program Files\EasyPHP-5.3.6.0\www\ExcelImporter\Classes\PHPExcel\Cell.php on line 288

--------------------------- СООБЩЕНИЕ ОБ ОШИБКЕ --------------------- ----------

Ячейка с такой формулой **=IF(ISERROR(VLOOKUP(H2349,'Supplier List'!A:B,2,FALSE)),"-",VLOOKUP(H2349,'Supplier List'!A:B,2,FALSE))**

Автор: user1331335 Источник Размещён: 13.04.2012 10:48

Ответы (2)


0 плюса

183351 Репутация автора

Слишком долго, чтобы быть комментарием ...

При отладке ошибок вычислений я использую следующее:

function testFormula($sheet,$cell) {
    $formulaValue = $sheet->getCell($cell)->getValue();
    echo '<b>'.$cell.' Value is </b>'.$formulaValue."<br />\n";
    $expectedValue = $sheet->getCell($cell)->getOldCalculatedValue();
    echo '<b>'.$cell.' Expected Value is </b>'.((!is_null($expectedValue)) ? $expectedValue : 'UNKNOWN')."<br />\n";


    $calculate = false;
    try {
        $tokens = PHPExcel_Calculation::getInstance()->parseFormula($formulaValue,$sheet->getCell($cell));
        echo '<b>Parser Stack :-</b><pre>';
        print_r($tokens);
        echo '</pre>';
        $calculate = true;
    } catch (Exception $e) {
        echo "PARSER ERROR: ".$e->getMessage()."<br />\n";

        echo '<b>Parser Stack :-</b><pre>';
        print_r($tokens);
        echo '</pre>';
    }

    if ($calculate) {
        try {
            $cellValue = $sheet->getCell($cell)->getCalculatedValue();
            echo '<b>'.$cell.' Calculated Value is </b>'.$cellValue."<br />\n";

            echo '<h3>Evaluation Log:</h3><pre>';
            print_r(PHPExcel_Calculation::getInstance()->debugLog);
            echo '</pre>';
        } catch (Exception $e) {
            echo "CALCULATION ENGINE ERROR: ".$e->getMessage()."<br />\n";

            echo '<h3>Evaluation Log:</h3><pre>';
            print_r(PHPExcel_Calculation::getInstance()->debugLog);
            echo '</pre>';
        }
    }
}


$sheet = $objPHPExcel->getActiveSheet();
PHPExcel_Calculation::getInstance()->writeDebugLog = true;


testFormula($sheet,'A4');

Это обеспечивает довольно подробный журнал всего, что делает механизм вычислений, позволяя определить причину проблемы.

Если вы просто хотите отключить вычисление значения ячейки при сохранении файла, то вы можете выполнить следующую команду после создания экземпляра вашего устройства записи, но перед выполнением команды сохранения:

$objWriter->setPreCalculateFormulas(FALSE);
Автор: Mark Baker Размещён: 17.04.2012 06:32

-1 плюса

89 Репутация автора

para resolver esse Problema "Неверная координата ячейки" $ this-> caracteres = array ('', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H ',' I ',' J ',' K ',' L ',' M ',' N ',' O ',' P ',' Q ',' R ',' S ',' T ', «U», «V», «X», «Y», «W», «Z», «AA», «AB», «AC», «AD», «AE», «AF», «AG ',' AH ',' AI ',' AJ ',' AK ',' AL ',' AM ',' AN ',' AO ',' AP ',' AQ ',' AR ',' AS ', «AT», «AU», «AV», «AX», «AY», «AW», «AZ»);

adicione mais caracteres, 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL ',' AM ',' AN ',' AO ',' AP ',' AQ ',' AR ',' AS ',' AT ',' AU ',' AV ',' AX ',' AY ', «AW», «AZ»); ....

Английский для решения этой проблемы "Неверная координата ячейки" $ this-> characters = array ('', 'A', 'B', 'C', 'D', 'E', 'F', 'G', ' H ',' I ',' J ',' K ',' L ',' M ',' N ',' O ',' P ',' Q ',' R ',' S ',' T ' , 'U', 'V', 'X', 'Y', 'W', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG ',' AH ',' AI ',' AJ ',' AK ',' AL ',' AM ',' AN ',' AO ',' AP ',' AQ ',' AR ',' AS ',' AT ',' AU ',' AV ',' AX ',' AY ',' AW ','AZ ');

добавить больше символов, «AA», «AB», «AC», «AD», «AE», «AF», «AG», «AH», «AI», «AJ», «AK», «AL ',' AM ',' AN ',' AO ',' AP ',' AQ ',' AR ',' AS ',' AT ',' AU ',' AV ',' AX ',' AY ',' AW ',' AZ '); ....

Автор: gilcierweb Размещён: 03.09.2013 04:43
Вопросы из категории :
32x32