阅读Excel文件并更新网页信息?[HTML]

时间:2018-10-21 02:51:06

标签: javascript html excel

我对如何实现这一点感到怀疑,我使用的语言是HTML和一些javascript,但是我想要的是读取一个excel文件(在这种情况下为语言),并根据选择的内容更新网页(英语,西班牙语等)。

例如:

enter image description here

我想要的是在选择西班牙语或英语或任何其他语言时更新的网站:

横幅:

enter image description here

现在它发生了变化,但是已经用javascript完成了

2 个答案:

答案 0 :(得分:2)

没有服务器端语言的帮助,您将无法处理excel文件。浏览器是sand-boxed。因此它不能使用自己的库。

,但是您可以借助包含所需设置的.JSON文件来实现所需的功能。

JSON是一种更好的文件类型/格式,可以在JavaScript中存储和交换数据。

this article将教您如何操作。

答案 1 :(得分:2)

如果您有权访问Excel文件,并且Excel文件中没有超级花哨的格式,则可以将文件另存为CSV(逗号分隔的值),然后使用JS进行解析。 CSV非常易于解析,但是您可以利用PapaParse之类的库。

通常,CSV文件使用行的返回字符\n(有时使用\r\nRFC 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:

excel screenshot