//下载组件
npm install xlsx
//引入
import XLSX from 'xlsx';//vue2 引入写法
import * as XLSX from 'xlsx';//vue3 引入写法
//json导出表格
exportxslx(){
var list = [
{
time:'时间=',
name:'姓名=',
address:'地址='
},
{
time:'时间=2',
name:'姓名=2',
address:'地址=2'
},
]
let tableData = [["订单号*", "订单来源", "套餐名称*"]];
list.forEach ((item,index)=> {
let rowData = []
//导出内容的字段
rowData = [
item.time,
item.name,
item.address,
]
tableData.push(rowData)
})
let ws = XLSX.utils.aoa_to_sheet(tableData)
let wb = XLSX.utils.book_new()
XLSX.utils.book_append_sheet(wb, ws, '失败原因') // 工作簿名称
XLSX.writeFile(wb, '失败原因.xlsx') // 保存的文件名
}
//导入表格获取数据
const getxslx = ()=>{
let {utils, read} = XLSX; //解构
let fileSelector = document.createElement('input');
fileSelector.setAttribute('type', 'file');
fileSelector.click();
fileSelector.onchange = e => {
let files = e.target.files; //文件信息
let fileReader = new FileReader(); //创建读取器
fileReader.readAsBinaryString(files[0]); //读取文件的内容为二进制
// 读取完成
fileReader.onload = event => {
let data = event.target.result;
let workbook = read(data, {type: 'binary'}); //读取工作簿
let sheetName = workbook.SheetNames[0]; //取第一张表
let worksheet = workbook.Sheets[sheetName];
let jsonData = utils.sheet_to_json(worksheet, {header: 1}); //生成json表格内容
console.log(jsonData);
//获取数据格式
// [
// ['订单号*', '订单来源', '套餐名称*'],//表头
// ['时间=', '姓名=', '地址='],//数据
// ['时间=2', '姓名=2', '地址=2']//数据
// ]
}
}
}
json数据导出excel表格,导入表格数据转json
于 2024-03-01 09:51:06 首次发布