Создайте веб-сайт, на котором будут показаны данные, считанные из локального файла Excel, и которые будут периодически оHtml

Программисты Html
Ответить Пред. темаСлед. тема
Anonymous
 Создайте веб-сайт, на котором будут показаны данные, считанные из локального файла Excel, и которые будут периодически о

Сообщение Anonymous »

Мне нужно создать веб-сайт (подойдет и локальный), который считывает файл Excel, отображает содержимое в таблице и периодически обновляет содержимое.
Я уже кое-что написал но он не обновляет содержимое веб-сайта периодически, как должно.
Можете ли вы мне помочь?
Вот как страница выбирает и читает файл:

Код: Выделить всё

document.getElementById('file-input').addEventListener('change', function (event) {
const file = event.target.files[0];
if (file) {
lastModified = new Date(file.lastModified);
const reader = new FileReader();
reader.onload = function (e) {
fileData = new Uint8Array(e.target.result);
updateTable();
};
reader.readAsArrayBuffer(file);
}
});

function updateTable() {
if (fileData) {
const workbook = XLSX.read(fileData, { type: 'array' });
const firstSheetName = workbook.SheetNames[0];
const worksheet = workbook.Sheets[firstSheetName];
const jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1 });

const tableBody = document.getElementById('excel-data');
tableBody.innerHTML = '';

jsonData.forEach((row, rowIndex) => {
if (rowIndex === 0) return; // Skip header row
const tr = document.createElement('tr');
row.forEach(cell => {
const td = document.createElement('td');
td.className = 'py-2 px-4 border-b border-gray-200';
td.textContent = cell;
tr.appendChild(td);
});
tableBody.appendChild(tr);
});

document.getElementById('last-modified')
.textContent = `Data ultima modifica del file Excel: ${lastModified.toLocaleString()}`;
}
}
вот как он должен обновляться каждые 5 минут:

Код: Выделить всё

setInterval(() => {
if (fileData) {
updateTable();
}
}, 300000);
При использовании отладчика функция updateTable(), похоже, вызывается и перенаправляется на следующую функцию попутного ветра

Код: Выделить всё

new MutationObserver(async r => {
let e = !1;
if (!cf) {
cf = new MutationObserver(async () => await pf(!0));
for (let t of document.querySelectorAll(`style[type="${uf}"]`))
Pv(t)
}
for (let t of r)
for (let i of t.addedNodes)
i.nodeType === 1 && i.tagName === "STYLE" && i.getAttribute("type") === uf && (Pv(i),
e = !0);
await pf(e)
}
но после этого содержимое не обновляется, хотя файл Excel за это время был изменен.

Подробнее здесь: https://stackoverflow.com/questions/793 ... updated-pe
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Html»