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>
|
</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');
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user