陈建华的博客
专注web开发
javascript在WEB端读取和写入XLS文件
2016-11-18 11:16:34   阅读600次

这套方案是在纯WEB端来解析XLS文件,不借助任何插件,不借助后台服务器。

示例代码:

<input id="m1" value="选择XLS" type="file">
<script type="text/javascript">
var ExcelToJSON = function() {
this.parseExcel = function(file){
    var reader = new FileReader();
    reader.onload = function(e){
        var data = e.target.result;
        var workbook = XLSX.read(data, {type : 'binary'});
        workbook.SheetNames.forEach(function(sheetName){
console.info("workbook.Sheets[sheetName]");
console.info(workbook.Sheets[sheetName]);
console.info( "XLSX.utils.sheet_to_csv(workbook.Sheets[sheetName])");
console.info( XLSX.utils.sheet_to_csv(workbook.Sheets[sheetName]));
console.info( "XLSX.utils.sheet_to_formulae(workbook.Sheets[sheetName])");
console.info( XLSX.utils.sheet_to_formulae(workbook.Sheets[sheetName]));
console.info( "XLSX.utils.sheet_to_json(workbook.Sheets[sheetName])");
console.info( XLSX.utils.sheet_to_json(workbook.Sheets[sheetName]));
            // Here is your object
            var XL_row_object = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
            //var json_object = JSON.stringify(XL_row_object);
            //console.log(json_object);
        })
    };
    reader.onerror = function(ex){
        console.log(ex);
    };
    reader.readAsBinaryString(file);
};};
$("#m1").change(function(e){
var files = e.target.files || e.dataTransfer.files;
(new ExcelToJSON()).parseExcel(files[0]);
});
</script>

首先需要引入jQuery包。

需要引入的js包:

js.zip

先引入jszip.js,后引入xlsx.js



-----------------------------------------------------
转载请注明来源此处
原地址:#

-----网友评论----
1楼:xiaozl 发表于 2016-11-20 02:15:18
陈工写的真好!  你一直在坚持写! 佩服!
2楼:xiaozl 发表于 2016-11-20 02:17:03
上次一个专家分享技术    讲了纯js版本实现了一个excel  哈哈
-----发表评论----
微网聚博客乐园 ©2014 blog.mn886.net 鲁ICP备14012923号   网站导航