public function __construct($rowindex, \excel2sql\SqlHeader $header, $worksheet)
 {
     $this->cells = array();
     $this->sql = false;
     $n = count($header->fields);
     for ($i = 0; $i < $n; ++$i) {
         $cell = \excel2sql\SqlConvert::convertCellData($worksheet->getCellByColumnAndRow($i, $rowindex));
         $header->fields[$i]->members[] = $cell["type"];
         $this->cells[] = $cell;
     }
 }
<?php

require_once __DIR__ . "/bootstrap.php";
$file_tables = array();
if (!empty($_POST["spreadsheet"])) {
    $file_table = \excel2sql\SqlConvert::convertToSql($_POST['spreadsheet'], \util\Config::$database->tablesDB);
    unlink($_POST['spreadsheet']);
}
$sql = new \sql\Database();
$sql->selectDB(\util\Config::$database->tablesDB);
$reports = array();
foreach ($file_table as $tname) {
    $chart = new \reports\Chart();
    $chart->setType('Table');
    $report = new \reports\Report();
    $report->setTitle($tname)->setQuery("SELECT * FROM {$tname}")->setChart($chart)->run($sql);
    $reports[] = $report;
}
$header = new \html\Header();
$header->title(\util\Config::$app->name)->css('css/style.min.css')->js('js/jquery.min.js', 'js/bootstrap.min.js');
if (!empty($reports)) {
    $head = '';
    for ($ir = 0; $ir < count($reports); ++$ir) {
        $head .= $reports[$ir]->script("chart_container_{$ir}");
    }
    $content = "";
    for ($ir = 0; $ir < count($reports); ++$ir) {
        $content .= "<div id=\"chart_container_{$ir}\"></div><br><br>";
    }
    $header->addToIncludes($head);
} else {