前端读取excel文件,不经过后台的实现方法
程序员文章站
2022-07-13 13:15:43
...
标题前端读取excel文件,不经过后台的实现方法
jsp 代码:
<script src="js/xlsx.full.min.js"></script>
<div>
<input type="file" id="importExcel" name="importExcel" style="width:200px;display: inline-block;" value="导入明细"/>
</div>
<div style="margin-top: 10px;">
<button class="btn btn-info" ng-click="uploadTrucksBut()">导入车辆文件</button>
</div>
js代码:
var importExcel = document.getElementById('importExcel');
var file = null;
if(importExcel.addEventListener)
importExcel.addEventListener('change', handleFile, false);
function handleFile (e) {
var files = e.target.files;
file = files[0];
};
function uploadTrucksBut (){
var name = file.name;
var reader = new FileReader();
alert(1);
reader.readAsArrayBuffer(file);
reader.onload = function (e) {
var data = e.target.result;
var wb;
wb = XLSX.read(btoa(fixdata(data)), {//手动转化
type: 'base64'
});
var persons = []; // 存储获取到的数据
var truckInfos = new Array() ;
persons = persons.concat(XLSX.utils.sheet_to_json(wb.Sheets["Sheet1"]));
alert(1);
angular.forEach(persons,function(data,idx){
});
};
};
本方法使用readAsArrayBuffer()兼容 ie11,详见 FileReader.readAsArrayBuffer()
。
之前使用readAsBinaryString 此方法已被W3C和FileAPI 遗弃。在ie浏览器中无法使用。
上一篇: R语言中读取xlxs文件