- 使用js-xlsx handsontable 可以把本地excel 解析到网页上,然后分批次传入后台。
- 在chrome 下 可以参考 https://github.com/SheetJS/js-xlsx 【Browser file upload form element】
但需要使用FileReader api 这个只有ie10 才开始支持。 - 兼容ie9 ,ie9需要通过flash 来支持FileReader功能, 需要两个插件moxie.js Moxie.swf(https://github.com/moxiecode/moxie)
//chrome
var reader = new FileReader();
//ie9
var fileReader = new moxie.file.FileReader(); //moxie FileReader 遵循w3c标准,方法与原生FileReader相同。
上传控件 ie9下需要用下面例子,可以把 下面的 按钮和 chrome 的file按钮放在一起,用一个button 覆盖。
<div id="container">
<a id="file-picker" href="javascript:;">Browse...</a>
</div>
<script>
var fileInput = new moxie.file.FileInput({
browse_button: 'file-picker', // or document.getElementById('file-picker')
accept: [
{title: "Images", extensions: "jpg,gif,png"} // accept only images
]
});
fileInput.onchange = function(e) {
// do something to files array
console.info(e.target.files); // or this.files or fileInput.files
};
fileInput.init(); // initialize
</script>