fix: load XLSX before event listeners

This commit is contained in:
Dauren777 2026-06-19 07:00:21 +00:00
parent cb8c871cc1
commit 6f89f83433

View File

@ -58,35 +58,34 @@
</section> </section>
</main> </main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js"></script>
<script> <script>
document.getElementById('uploadBtn').addEventListener('click', function() { document.getElementById('uploadBtn').addEventListener('click', function() {
document.getElementById('excelFile').click(); document.getElementById('excelFile').click();
}); });
document.getElementById('excelFile').addEventListener('change', function(e) { document.getElementById('excelFile').addEventListener('change', function(e) {
var file = e.target.files[0]; var file = e.target.files[0];
if (file) { if (!file) return;
document.getElementById('statusMsg').textContent = 'Выбран: ' + file.name; document.getElementById('statusMsg').textContent = 'Загрузка: ' + file.name + '...';
var reader = new FileReader();
reader.onload = function(ev) { var reader = new FileReader();
try { reader.onload = function(ev) {
var arr = new Uint8Array(ev.target.result); try {
var wb = XLSX.read(arr, {type: 'array'}); var arr = new Uint8Array(ev.target.result);
var ws = wb.Sheets[wb.SheetNames[0]]; var wb = XLSX.read(arr, {type: 'array'});
var rows = XLSX.utils.sheet_to_json(ws, {defval: ''}); var ws = wb.Sheets[wb.SheetNames[0]];
if (rows.length > 0) { var rows = XLSX.utils.sheet_to_json(ws, {defval: ''});
document.getElementById('statusMsg').textContent = 'Загружено строк: ' + rows.length; if (!rows.length) { document.getElementById('statusMsg').textContent = 'Файл пуст'; return; }
buildDashboard(rows); document.getElementById('statusMsg').textContent = 'Загружено: ' + rows.length + ' строк';
} buildDashboard(rows);
} catch(err) { } catch(err) {
document.getElementById('statusMsg').textContent = 'Ошибка: ' + err.message; document.getElementById('statusMsg').textContent = 'Ошибка: ' + err.message;
} }
}; };
reader.readAsArrayBuffer(file); reader.readAsArrayBuffer(file);
}
}); });
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js"></script>
<script>
function buildDashboard(raw) { function buildDashboard(raw) {
document.getElementById('uploadSection').classList.add('hidden'); document.getElementById('uploadSection').classList.add('hidden');
document.getElementById('dashboard').classList.remove('hidden'); document.getElementById('dashboard').classList.remove('hidden');