File: /home/lzgqnjwu/sites/bot.sgt.com.ua/test-phpspreadsheet.php
<?php
/**
* Тестовий скрипт для перевірки PhpSpreadsheet
* Завантажте цей файл в корінь проекту і відкрийте в браузері
* Наприклад: https://bot.sgt.com.ua/test-phpspreadsheet.php
*/
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\IOFactory;
echo "<h1>Тест PhpSpreadsheet</h1>";
// 1. Перевірка встановлення
echo "<h2>1. Перевірка встановлення</h2>";
if (class_exists('PhpOffice\PhpSpreadsheet\IOFactory')) {
echo "✅ <b>PhpSpreadsheet встановлено успішно!</b><br>";
echo "Версія: " . \PhpOffice\PhpSpreadsheet\Spreadsheet::VERSION . "<br><br>";
} else {
echo "❌ <b>PhpSpreadsheet НЕ встановлено!</b><br><br>";
die();
}
// 2. Перевірка наявності файлів
echo "<h2>2. Перевірка файлів</h2>";
$pricelistPath = __DIR__ . '/storage/web/source/Ukraine_Pricelist.xlsx';
$skladPath = __DIR__ . '/storage/web/source/Sklad.xlsx';
if (file_exists($pricelistPath)) {
echo "✅ Ukraine_Pricelist.xlsx знайдено<br>";
echo "Розмір: " . round(filesize($pricelistPath) / 1024 / 1024, 2) . " MB<br>";
} else {
echo "❌ Ukraine_Pricelist.xlsx НЕ знайдено за шляхом: $pricelistPath<br>";
}
if (file_exists($skladPath)) {
echo "✅ Sklad.xlsx знайдено<br>";
echo "Розмір: " . round(filesize($skladPath) / 1024, 2) . " KB<br><br>";
} else {
echo "❌ Sklad.xlsx НЕ знайдено за шляхом: $skladPath<br><br>";
}
// 3. Тест читання Ukraine_Pricelist.xlsx
if (file_exists($pricelistPath)) {
echo "<h2>3. Тест читання прайс-листа</h2>";
try {
$spreadsheet = IOFactory::load($pricelistPath);
$worksheet = $spreadsheet->getActiveSheet();
$data = $worksheet->toArray();
echo "✅ Файл успішно прочитано!<br>";
echo "Кількість рядків: " . count($data) . "<br><br>";
// Показуємо заголовки
echo "<b>Заголовки таблиці:</b><br>";
echo "<pre>";
print_r($data[0]);
echo "</pre>";
// Показуємо перші 3 товари
echo "<b>Перші 3 товари:</b><br>";
echo "<table border='1' cellpadding='5'>";
echo "<tr>";
foreach ($data[0] as $header) {
echo "<th>" . htmlspecialchars($header) . "</th>";
}
echo "</tr>";
for ($i = 1; $i <= 3 && $i < count($data); $i++) {
echo "<tr>";
foreach ($data[$i] as $cell) {
echo "<td>" . htmlspecialchars($cell) . "</td>";
}
echo "</tr>";
}
echo "</table><br>";
// Перевіряємо картинки
echo "<b>Перевірка картинок (колонка F):</b><br>";
$imageIndex = 5; // Колонка F
$imagesFound = 0;
for ($i = 1; $i <= 10 && $i < count($data); $i++) {
if (!empty($data[$i][$imageIndex])) {
$imagesFound++;
echo "Рядок $i: " . htmlspecialchars($data[$i][$imageIndex]) . "<br>";
}
}
if ($imagesFound > 0) {
echo "<br>✅ Знайдено $imagesFound URL картинок у перших 10 рядках<br>";
} else {
echo "<br>⚠️ Картинок не знайдено у перших 10 рядках (колонка F пуста)<br>";
}
} catch (Exception $e) {
echo "❌ <b>Помилка читання файлу:</b> " . $e->getMessage() . "<br>";
}
echo "<br>";
}
// 4. Тест читання Sklad.xlsx
if (file_exists($skladPath)) {
echo "<h2>4. Тест читання складу</h2>";
try {
$spreadsheet = IOFactory::load($skladPath);
$worksheet = $spreadsheet->getActiveSheet();
$data = $worksheet->toArray();
echo "✅ Файл успішно прочитано!<br>";
echo "Кількість рядків: " . count($data) . "<br><br>";
// Показуємо заголовки
echo "<b>Заголовки таблиці:</b><br>";
echo "<pre>";
print_r($data[0]);
echo "</pre>";
// Показуємо перші 3 записи
echo "<b>Перші 3 записи:</b><br>";
echo "<table border='1' cellpadding='5'>";
echo "<tr>";
foreach ($data[0] as $header) {
echo "<th>" . htmlspecialchars($header) . "</th>";
}
echo "</tr>";
for ($i = 1; $i <= 3 && $i < count($data); $i++) {
echo "<tr>";
foreach ($data[$i] as $cell) {
echo "<td>" . htmlspecialchars($cell) . "</td>";
}
echo "</tr>";
}
echo "</table><br>";
} catch (Exception $e) {
echo "❌ <b>Помилка читання файлу:</b> " . $e->getMessage() . "<br>";
}
}
echo "<hr>";
echo "<h2>Підсумок</h2>";
echo "Якщо всі тести пройшли успішно - можете тестувати бота!<br>";
echo "Видаліть цей файл після тестування (test-phpspreadsheet.php)<br>";
?>