注:若在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()