var XLSX = require('xlsx')
data() {
preview(url) {
let that = this
const loading = this.$loading({
lock: true,
text: '表格解析中',
spinner: 'el-icon-loading',
customClass: 'loadingClass',
})
axios
.get(
url,
{
responseType: 'arraybuffer', // 设置响应体类型arraybuffer
}
)
.then(({ data }) => {
let workbook = XLSX.read(new Uint8Array(data), { type: 'array' }) // 解析数据
console.log('🚀 ~ file: importData.vue:102 ~ .then ~ data', data)
let worksheet = workbook.Sheets[workbook.SheetNames[0]] // workbook.SheetNames 下存的是该文件每个工作表名字,这里取出第一个工作表
/* this.tableau = XLSX.utils.sheet_to_html(worksheet) // 渲染 */
var outdata = XLSX.utils.sheet_to_json(worksheet) // 渲染
that.excelData = outdata
that.tableData = outdata
that.total = outdata.length
// 获取数据的key
var importDataThead = Array.from(Object.keys(outdata[0])).map((item) => {
return item
})
that.columnHeader = importDataThead
// that.checkboxTableColumn = importDataThead.slice(0, 9) 分页功能
that.checkboxTableColumn = importDataThead
})
},
return {
columnHeader: [], //所有键的值
excelData: [], // 导入的excel的数据
checkboxTableColumn: [], // 表格显示列
tableData: [], //表格数据
total: 0, /* // 数据总数 */
}
},