我对如何实现这一点感到怀疑,我使用的语言是HTML和一些javascript,但是我想要的是读取一个excel文件(在这种情况下为语言),并根据选择的内容更新网页(英语,西班牙语等)。
例如:
我想要的是在选择西班牙语或英语或任何其他语言时更新的网站:
横幅:
现在它发生了变化,但是已经用javascript完成了
答案 0 :(得分:2)
没有服务器端语言的帮助,您将无法处理excel文件。浏览器是sand-boxed。因此它不能使用自己的库。
,但是您可以借助包含所需设置的.JSON文件来实现所需的功能。
JSON是一种更好的文件类型/格式,可以在JavaScript中存储和交换数据。
this article将教您如何操作。
答案 1 :(得分:2)
如果您有权访问Excel文件,并且Excel文件中没有超级花哨的格式,则可以将文件另存为CSV(逗号分隔的值),然后使用JS进行解析。 CSV非常易于解析,但是您可以利用PapaParse之类的库。
通常,CSV文件使用行的返回字符\n
(有时使用\r\n
,RFC 4180)定界,而使用逗号,
分隔列。
以下是您在没有库的情况下要实现的目标的粗略概述:
// Whichever way you end up with getting the CSV as a string
let csvFile = fetch("lang.csv").then(x => x.text());
csvFile = csvFile.split("\r\n").map( x => x.split(",") );
// Assuming your field name is the element ID you want to replace the text with.
function selectLanguage(lang) {
if (lang == "") return;
let langRowNum = csvFile.some( (row, index) => {
langRowNum = index;
return row[0] == lang; // see if the first cell of the row is matching
})? langRowNum : 1; // default to Espanol
// assuming first row is the ID of the elements
for (let i = 1; i < csvFile[0].length; ++i)
document.getElementById(csvFile[0][i]).textContent = csvFile[langRowNum][i]
}
selectLanguage("English");
Excel应该允许您将文件另存为CSV: