From 5c0028c3080e1fd1855a02dbeecd39d995f72daf Mon Sep 17 00:00:00 2001 From: cursor-agent Date: Mon, 6 Apr 2026 08:36:12 +0000 Subject: [PATCH] =?UTF-8?q?Feature:=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D0=B8?= =?UTF-8?q?=D0=B7=20Excel=20(.xlsx,=20.xls)=20=D1=87=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D0=B7=20SheetJS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made-with: Cursor --- HISTORY.md | 12 +++++++++ README.md | 7 +++++- index.html | 74 +++++++++++++++++++++++++++++++++++++++++++----------- 3 files changed, 77 insertions(+), 16 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index a4496f1..6ff4dac 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,17 @@ # История изменений +## 2026-04-06 14:00 UTC – Загрузка из Excel + +**Проблема:** Нужна загрузка выгрузки в формате Excel при той же структуре колонок, что у CSV/JSON. + +**Решение:** Подключён SheetJS (`xlsx` с CDN), разбор первого листа через `sheet_to_json`; расширены `accept` у поля файла и подсказки в шапке. + +**Изменения:** `index.html` (скрипт, `parseExcelToRows`, ветка `handleFile` для `.xlsx`/`.xls`); README. + +**Проверка:** Загрузка таблицы, сохранённой из Excel с заголовками как в CSV. + +--- + ## 2026-04-06 08:00 UTC – Публикация на sd.gen7x.ru **Проблема:** Нужен доступ к дашборду по постоянному URL извне. diff --git a/README.md b/README.md index 8e24d62..72bf3e6 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ **Публичный URL (прод):** https://sd.gen7x.ru/ — раздача через Nginx с сервера (`/opt/gen7x/nginx/conf.d/sd.gen7x.ru.conf`). -Одностраничный дашборд для мониторинга инцидентов ServiceDesk: KPI, диаграммы, таблица и разбивка по сотрудникам. Работает в браузере без бэкенда — данные загружаются из CSV или JSON. +Одностраничный дашборд для мониторинга инцидентов ServiceDesk: KPI, диаграммы, таблица и разбивка по сотрудникам. Работает в браузере без бэкенда — данные загружаются из CSV, JSON или Excel (.xlsx / .xls) с той же таблицей колонок. ## Запуск @@ -46,6 +46,10 @@ docker compose up -d Массив объектов с теми же ключами полей, что и в CSV. +### Excel + +Первый лист книги; первая строка — заголовки, совпадающие с колонками CSV (те же русские названия). Поддерживаются `.xlsx` и устаревший `.xls`. Разбор в браузере через SheetJS (`xlsx`, CDN). + ## Недельная динамика График «хронология по неделям» и таблица под ним заполняются константой `WEEK_STATS` внутри `index.html` и **не** зависят от загружаемого файла. Обновляйте массив вручную при необходимости. @@ -54,6 +58,7 @@ docker compose up -d - Chart.js (CDN) - PapaParse 5.4.1 (CDN) +- SheetJS xlsx 0.18.5 (CDN) — Excel - Шрифты: Barlow Condensed, IBM Plex Sans, IBM Plex Mono (Google Fonts) ## Логи и бэкапы diff --git a/index.html b/index.html index a05e905..58352f8 100644 --- a/index.html +++ b/index.html @@ -9,6 +9,7 @@ +