javascript - 无论如何,我可以将 Excel 文件附加到我的 HTML 或 Javascript 中,用作数据库吗?
问题描述
我想在我的网站上自动填充个人数据,我需要它从 Excel 文件中获取数据。因此,如果在 Excel 上更新,我网站上的数据将自动更改。可悲的是,我只需要使用香草 Javascript 来做到这一点。
解决方案
不可以。您不能*使用 vanilla 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 += result;
}
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 result;
}
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 数据,我将使用 Pythonopenpyxl
和json
库分别读取和写入您的数据到此标记文件,尽管我确信您选择的语言存在类似的库。
我认为以下内容不适用,但只是为了完整起见:如果您可以选择,您可以让您的网络服务器在提供此 HTML 之前构建它,使用您的数据访问层的众多选项之一openpyxl
(其中之一)。
* 从字面上讲,可以通过 AJAX 访问.xlsx
文件,使用zip.js
或类似的方式解压缩,并处理其 XML 内容。我不认为你想这样做。
推荐阅读
- c# - 绑定到引用保持不变的对象时忽略 PropertyChanged
- javascript - 如何在 javascript 中更新 setInterval 函数的持续时间?
- javascript - 如何在heroku上的node_modules文件夹中运行app.js
- java - Java 到虚拟现实
- php - 使用别名从视图中更新 MySQL 表
- python - Python asyncio 等待任务
- java - java中如何实现加密和解密
- c# - 当从另一个类引用时,列表变为空,我在哪里做错了?
- c# - 如何在 C# 中为多个值运行单个进程?
- javascript - 使用 CSS 过渡和类切换来显示/隐藏表格行