composer require liderit/ramowka-import-tv-republika "^1.0.0"
$docPath = $_FILES["documentFile"]["tmp_name"];
use RamowkaTvRepublika\RamowkaTvRepublika;
try {
$mysqlCredentials = [
"MYSQL_HOST" => "localhost",
"MYSQL_USER" => "root",
"MYSQL_PASSWORD" => "",
"MYSQL_DB_NAME" => "ramowka-import-tv-republika"
];
$processor = new RamowkaTvRepublika($mysqlCredentials);
$results = $processor->importDocument($docPath);
} catch(Exception $e) {
echo "Błąd";
}
Wynik konwersji jest przedstawiony w postaci kolekcji o następującym schemacie:
[
"worksheetsCount" => number, // liczba wszystkich arkuszy
"processedWorksheetsCount" => number, // liczba przetworzonych arkuszy
"totalProcessedRows" => number // liczba przetworzonych wierszy ze wszystkich arkuszy łącznie
]
Przykład użycia:
<p>Zaimportowano <b><?php echo $data["processedWorksheetsCount"] . " / " . $data["worksheetsCount"] ?></b> arkuszy.</p>
<p>Podczas importu przetworzono <b><?php echo $data["totalProcessedRows"] ?></b> wierszy.</p>
Ilość przerobionych arkuszy (processedWorksheetsCount
), a faktycznej ilości arkuszy (worksheetsCount
) jest również wskaźnikiem, że coś poszło nie tak,
ale mechanizm nie mógł wychwycić błędu. Warto sprawdzić również te zmienne.
if($data["processedWorksheetsCount"] !== $data["worksheetsCount"]) {
echo "Błąd";
}
System udostepnia również możliwość wychwytywania gdzie wystąpił błąd i z jakiego powodu.
use RamowkaTvRepublika\Exceptions\SpreadsheetReadException;
use RamowkaTvRepublika\RamowkaTvRepublika;
use RamowkaTvRepublika\SpreadsheetReadExceptionType;
try {
$processor = new RamowkaTvRepublika($_ENV);
$results = $processor->importDocument($docPath);
} catch(SpreadsheetReadException $e) {
switch($e->getExceptionType()) {
case SpreadsheetReadExceptionType::WHOLE_DOCUMENT_ERROR: {
echo "Błąd odczytu pliku, bądź wewętrzny błąd serwera.";
break;
}
case SpreadsheetReadExceptionType::SINGLE_WORKSHEET_ERROR: {
echo "Wskazany plik posiada nieznany błąd w arkuszu o nazwie `{$e->getWorksheetName()}`.";
break;
}
case SpreadsheetReadExceptionType::SINGLE_ROW_ERROR: {
echo "Wskazany plik posiada błąd w arkuszu o nazwie `{$e->getWorksheetName()}` w wierszu o numerze `{$e->getRow()}`.";
break;
}
}
} catch(Exception $e) {
throw $e;
}