Импорт данных из файла Excel с использованием PHP Excel - PullRequest
0 голосов
/ 17 апреля 2020

Я пытаюсь импортировать некоторые данные из таблицы Excel, но одна из моих переменных (уровень) не работает. Я надеялся, что кто-то может взглянуть на то, почему этот не сработает, но события и разделение работают.

class CompetitionClass 
{
   public $event;
   public $division;
   public $level;

   function __construct(){

      $this->entryTable = array();
   }
}



$x++;
$compClass[$x] = new CompetitionClass();
$compClass[$x] -> event = htmlspecialchars((string)$objPHPExcel->getSheet($key)->getCell('F1')->getOldCalculatedValue());
$compClass[$x] -> division = htmlspecialchars((string)$objPHPExcel->getSheet($key)->getCell('H1')->getOldCalculatedValue());
$compClass[$x] -> level = htmlspecialchars((string)$objPHPExcel->getSheet($key)->getCell('F2')->getOldCalculatedValue());



foreach($compClass as $key => $value)
{
   if($value -> division == "MOD")
   {
       print(strtoupper($value -> event)."&nbsp;&nbsp;&nbsp; ".strtoupper($value -> level)."&nbsp;&nbsp;&nbsp; ".strtoupper($value -> division)."<BR/>");
   } 

}

1 Ответ

0 голосов
/ 17 апреля 2020

Мне пришлось изменить свою функцию readCell, чтобы включить строку 2, а не только строку 1.

Это то, что у меня было до изменения:

class MyReadFilter implements PHPExcel_Reader_IReadFilter
{
   public function readCell($column, $row, $worksheetName = '')
   {
      if (($row == 1 and in_array($column, range('F','H'))) or ($row >= 3 and $row <= 25 and in_array($column, range('G','N'))))
         { return true; }
      return false;
   }
}

Это после изменения:

class MyReadFilter implements PHPExcel_Reader_IReadFilter
{
   public function readCell($column, $row, $worksheetName = '')
   {
      if (($row >= 1 and $row <= 2 and in_array($column, range('F','H'))) or ($row >= 3 and $row <= 25 and in_array($column, range('G','N'))))
         { return true; }
      return false;
   }
}

Таким образом, изменяя $ row == 1 на $ row> = 1 и $ row <= 2 </p>

...