项目中需要做一个上传表格的功能,具体为上传本地excel文件并拼成json传给后台然后保存用户上传的表格数据,但是碰到一个问题,就是这个表格是带表头的,如下:
表格的第一行只有一个表头并且独占一行,我用的是xlsx.full.min.js解析代码如下
if (!obj.files) {
return;
}
try {
var f = obj.files[0];
var reader = new FileReader();
reader.onload = function (e) {
var data = e.target.result;
if (rABS) {
wb = XLSX.read(btoa(fixdata(data)), {//手动转化
type: 'base64'
});
} else {
wb = XLSX.read(data, {
type: 'binary'
});
}
//读取页面demo中的内容
//这里的wb.SheetNames[0]是excel表格中第一个表格页的名字默认应该是sheel1,
//但是这个名字用户可以自定义,所以不能写死,得获取表格名字
demo = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]])
//获取选择的文件类型,调用不同的接口保存至数据库
upload_grid(demo);
};
if (rABS) {
reader.readAsArrayBuf