<script src="./javascripts/xlsx/dist/xlsx.full.min.js"></script>
<input type="file" id="file" name="myfile" style="display: none" />
<input type="text" id="filename" style="display:none"></span>
<input type="button" onclick="upload()" value="选择文件上传" />
function upload() {
$("#file").click();
$('#file').change(function (evt) {
var files = evt.target.files;
var f = files[0];
var name = f.name;
var reader = new FileReader();
reader.onload = function(e){
var data = e.target.result;
var wb = XLSX.read(data,{type:"binary"});
console.log(wb);
var sheets = JSON.stringify(wb.Sheets);
sheets = JSON.parse(sheets);
var sheetsItem = sheets.Template;
var item = new Array();
for(var obj in sheetsItem){
var attr = judgeObj(obj);
if(item[parseInt(attr.row)]===undefined) item[parseInt(attr.row)] = {};
if(attr !== false){
if(parseInt(attr.row)!==1 ){
if(parseInt(attr.row)!==2){
if(parseInt(attr.row)!==3){
var colName = attr.col + "3";
item[parseInt(attr.row)-3][sheetsItem[colName].w] = sheetsItem[obj].w;
}
}
}
}
}
var itemList = item.filter(function(s){
return s && JSON.stringify(s) !=='{}';
})
UploadFile(itemList);
};
reader.readAsBinaryString(f);
});
}
function judgeObj(str){
var index = hasNumber(str);
if(!index) return false;
else{
var attr = {};
attr.col = str.slice(0,index);
attr.row = str.slice(index);
return attr;
}
}
function hasNumber(str){
for(var i in str){
var asc = str.charCodeAt(i);
if (asc >= 48 && asc <= 57) {
return i;
}
}
return false;
}
function UploadFile(dataList) {
$.ajax({
url: '/xxx',
type: 'POST',
data: JSON.stringify(dataList),
dataType: 'JSON',
contentType: 'application/json',
success:function (data) {
console.log(data);
},
error:function (data) {
console.log(data);
}
});
}