1、安装XLSX依赖。
2、通过input标签拿到file对象
// 拿到所导入文件的名字(file是input标签拿到的文件信息)
let fileName = file
//定义reader,存放文件读取方法
let reader = new FileReader()
//启动函数
reader.readAsBinaryString(fileName)
//onload在文件被读取时自动触发
reader.onload = e => {
try {
//workbook存放excel的所有基本信息
const workbook = XLSX.read(e.target.result, {
type: 'binary',
cellDates: true
})
//定义sheetList中存放excel表格的sheet表,就是最下方的tab
let sheetList = workbook.SheetNames // 工作表名称集合
sheetList.forEach(name => {
// 生成工作表名称集合
let worksheet = workbook.Sheets[name] // 只能通过工作表名称来获取指定工作表
let results = XLSX.utils.sheet_to_json(worksheet) // XLSX解析工作表信息
console.log(results) // 这里results就是我们要拿到的信息
})
} catch (error) {
this.$message.warning('文件类型不正确!')
}
}
2021-10-26优化:
//workbook存放excel的所有基本信息
const workbook = XLSX.read(e.target.result, {
type: 'binary',
cellDates: true,
dateNF: 'yyyy-mm-dd' // 将日期格式化为2021-10-26的形式
})
/***************************/
// 使用中发现sheet_to_json的方法会将0.00 253.00这种格式转化为整数 0 253 所以这里改为sheet_to_row_object_array方法,并将raw设置为false,这样解析出的数据就是并没有做格式化的原始数据
let results = XLSX.utils.sheet_to_row_object_array(worksheet, {
raw: false
}) // XLSX解析工作表信息
console.log(results) // 这里results就是我们要拿到的信息