XLSX工具提取csv、xlsx表格内容

102 阅读1分钟
注:若在vue等项目中需安装插件XLSX,建议只参考工具使用部分
let inputdom = document.createElement("input")
inputdom.setAttribute("type", "file")
inputdom.setAttribute("id", "myFile")
inputdom.setAttribute("accept", ".csv,.xlsx")
function uploadfile() {
    let reads = new FileReader();
    let file = this.files[0];
    reads.readAsBinaryString(file)
    reads.onload = (ev) => {
        var data = ev.target.result
        var workbook = XLSX.read(data, { type: "binary" })
        var sheetNames = workbook.SheetNames;
        var worksheet = workbook.Sheets[sheetNames[0]]
        this.m_csvarray = XLSX.utils.sheet_to_json(worksheet)
        this.m_csvarray = this.m_csvarray.map((item) => {
            return {
                'xxx': item['xxxx'].replace(/\s*/g, ""),
            }
        })
        let check_headtitle = ['xxxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx']
        let objkeys = Object.keys(this.m_csvarray[0])
        let objvalues = Object.values(this.m_csvarray[0])
        let title_bol = objkeys.every((item) => {
            return check_headtitle.includes(item) === true
        })
        let content_bol = objvalues.every((item1) => {
            return item1.length > 0
        })
    };
}
inputdom.addEventListener("change", uploadfile)
inputdom.click()