#javascript #html #excel
#javascript #HTML #excel
Вопрос:
Я хочу автоматически заполнить данные пользователя на моем веб-сайте, и мне это нужно для получения данных из файла Excel. Таким образом, данные на моем веб-сайте автоматически изменятся, если они будут обновлены в Excel. К сожалению, мне нужно сделать это, используя только ванильный Javascript.
Ответ №1:
Нет. Вы не можете * использовать ванильный JavaScript для извлечения данных из файла Excel, расположенного на вашем сервере. Однако, если вы хотите заполнить данные на своей странице из файла разметки и использовать что-то вроде JSON или XML, это гораздо более выполнимо и, я думаю, отвечает вашему варианту использования. Вот простой пример:
data.js
:
var xhr = new XMLHttpRequest();
xhr.responseType = 'json';
xhr.open('GET', 'data.json');
xhr.onload = function() {
build_table(xhr.response);
}
function build_table(data) {
var result = '';
for (var i = 0; i < data.length; i ) {
result = build_row(data[i]);
}
document.getElementById('data').innerHTML = resu<
}
function build_row(data) {
var result = '<tr>';
result = '<td>' data.firstname '</td>';
result = '<td>' data.lastname '</td>';
result = '<td>' data.country '</td>';
result = '</tr>';
return resu<
}
index.html
:
<head>
<title>AJAX Example</title>
<script src="data.js"></script>
</head>
<body>
<table id="data">
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Country</th>
</tr>
</table>
</body>
data.json
:
[
{
"firstname": "John",
"lastname": "Smith",
"country": "United States"
},
{
"firstname": "Alice",
"lastname": "Lastname",
"country": "Germany"
},
{
"firstname": "Bob",
"lastname": "Bobson",
"country": "United States"
}
]
Если вам необходимо работать с данными Excel, я бы использовал библиотеки Python openpyxl
и json
для чтения и записи ваших данных в этот файл разметки соответственно, хотя я уверен, что аналогичные библиотеки существуют для выбранного вами языка.
Я не думаю, что следующее применимо, но просто для полноты картины: если это вариант для вас, вы могли бы заставить свой веб-сервер создать этот HTML перед его отправкой, используя один из нескольких вариантов для вашего уровня доступа к данным ( openpyxl
является одним из них).
* Буквально говоря, можно получить доступ к .xlsx
файлу через AJAX, разархивировать его с помощью zip.js
или аналогичного и обработать его содержимое XML. Я не думаю, что вы хотите это делать.