fix: load XLSX before event listeners
This commit is contained in:
parent
cb8c871cc1
commit
6f89f83433
43
index.html
43
index.html
@ -58,35 +58,34 @@
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js"></script>
|
||||
<script>
|
||||
document.getElementById('uploadBtn').addEventListener('click', function() {
|
||||
document.getElementById('excelFile').click();
|
||||
});
|
||||
|
||||
document.getElementById('excelFile').addEventListener('change', function(e) {
|
||||
var file = e.target.files[0];
|
||||
if (file) {
|
||||
document.getElementById('statusMsg').textContent = 'Выбран: ' + file.name;
|
||||
var reader = new FileReader();
|
||||
reader.onload = function(ev) {
|
||||
try {
|
||||
var arr = new Uint8Array(ev.target.result);
|
||||
var wb = XLSX.read(arr, {type: 'array'});
|
||||
var ws = wb.Sheets[wb.SheetNames[0]];
|
||||
var rows = XLSX.utils.sheet_to_json(ws, {defval: ''});
|
||||
if (rows.length > 0) {
|
||||
document.getElementById('statusMsg').textContent = 'Загружено строк: ' + rows.length;
|
||||
buildDashboard(rows);
|
||||
}
|
||||
} catch(err) {
|
||||
document.getElementById('statusMsg').textContent = 'Ошибка: ' + err.message;
|
||||
}
|
||||
};
|
||||
reader.readAsArrayBuffer(file);
|
||||
}
|
||||
if (!file) return;
|
||||
document.getElementById('statusMsg').textContent = 'Загрузка: ' + file.name + '...';
|
||||
|
||||
var reader = new FileReader();
|
||||
reader.onload = function(ev) {
|
||||
try {
|
||||
var arr = new Uint8Array(ev.target.result);
|
||||
var wb = XLSX.read(arr, {type: 'array'});
|
||||
var ws = wb.Sheets[wb.SheetNames[0]];
|
||||
var rows = XLSX.utils.sheet_to_json(ws, {defval: ''});
|
||||
if (!rows.length) { document.getElementById('statusMsg').textContent = 'Файл пуст'; return; }
|
||||
document.getElementById('statusMsg').textContent = 'Загружено: ' + rows.length + ' строк';
|
||||
buildDashboard(rows);
|
||||
} catch(err) {
|
||||
document.getElementById('statusMsg').textContent = 'Ошибка: ' + err.message;
|
||||
}
|
||||
};
|
||||
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) {
|
||||
document.getElementById('uploadSection').classList.add('hidden');
|
||||
document.getElementById('dashboard').classList.remove('hidden');
|
||||
|
||||
Loading…
Reference in New Issue
Block a user