首页 > 解决方案 > 如何通过 JavaScript 中的列标题名称获取 Excel 工作表的列数据?

问题描述

我有一个这样的 Excel 表。

姓名 电子邮件 电话号码 地址
一个 美国广播公司 001 美国
abf 002 能够
C 阿部 003
D abd 004 英国

和这样的 HTML 页面上的下拉列表

当用户单击列表框中的任何项目时,我想要什么,例如,Name只有 name 列中的值应该被提取并转换为 JSON 对象。

我已经尝试过这个解决方案,但我不知道如何在代码中指定列名。

  var selectedFile;
        document
            .getElementById("fileUpload")
            .addEventListener("change", function (event) {
                selectedFile = event.target.files[0];
            });
        document
            .getElementById("uploadExcel")
            .addEventListener("click", function () {
                if (selectedFile) {
                    var fileReader = new FileReader();
                    fileReader.onload = function (event) {
                        var data = event.target.result;

                        var workbook = XLSX.read(data, {
                            type: "binary"
                        });
                        workbook.SheetNames.forEach(sheet => {
                            let rowObject = XLSX.utils.sheet_to_row_object_array(
                                workbook.Sheets[sheet]
                            );

                            let jsonObject = JSON.stringify(rowObject);
                            document.getElementById("jsonData").innerHTML = jsonObject;
                            console.log(jsonObject);
                        });
                    };
                    fileReader.readAsBinaryString(selectedFile);
                }
            });

我是 javascript 的新手,所以任何帮助将不胜感激。请仅提及 javascript 解决方案。提前致谢。

标签: javascripthtmlexcel

解决方案


推荐阅读