这个库我用到了excel批量上传的功能,这里稍微记一下
基本使用
- 导入
这里我用的是CDN链接
<script src="https://unpkg.com/xlsx/dist/xlsx.full.min.js"></script>
- 介绍
1.workbook 对象,指的是整份Excel文档。我们在使用js-xlsx读取Excel文档之后就会获得workbook对象。
2.worksheet 对象,指的是Excel文档中的表。我们知道一份Excel文档中可以包含很多张表,而每张表对应的就是worksheet对象。
3.cell 对象,指的就是worksheet中的单元格,一个单元格就是一个cell对象。
- 方法
1.用 XLSX.read 读取获取到的 Excel 数据,返回 workbook
2.用 XLSX.readFile 打开 Excel 文件,返回 workbook
3.用 workbook.SheetNames 获取表名
4.用 workbook.Sheets[xxx] 通过表名获取表格
5.用 worksheet[address]操作单元格
6.用XLSX.utils.sheet_to_json针对单个表获取表格数据转换为json格式
7.用XLSX.writeFile(wb, 'output.xlsx')生成新的 Excel 文件
- 代码
<input type='file' class='files' style='display: none;' onchange='importf(this)'>
function importf(obj) {
if (!obj.files) {
return;
}
var f = obj.files[0];
var reader = new FileReader();
reader.onload = function (e) {
var data = e.target.result;
var wb = XLSX.read(data, {
type: 'binary'
});
// }
//wb.SheetNames[0]是获取Sheets中第一个Sheet的名字
//wb.Sheets[Sheet名]获取第一个Sheet的数据
// document.getElementById("demo").innerHTML= JSON.stringify( XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]) );
var jsonData = JSON.stringify(XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]));
$.ajax({
type: "post",
url: "root/teacherList",
data: jsonData,
//dataType:"text",
contentType: "application/json;charset=UTF-8",
success: function (result) {
alert("添加成功");
$("#tb_departments").bootstrapTable('refresh');
},
error: function (result) {
console.log(result);
}
});
};
reader.readAsBinaryString(f);
}
转载至https://aotu.io/notes/2016/04/07/node-excel/