jquery 上传 excel

颜贵龙 3周前 5浏览 0评论

在web开发过程中,上传excel文件是常见需求之一。如何实现呢?答案是使用jquery。

首先,在html中,我们需要设置一个表单,里面有一个file类型input,用于选择excel文件:

   <form id="excelUploadForm" method="POST" enctype="multipart/form-data">
       <input type="file" name="file" id="excelUploadInput">
   </form>

然后,我们需要给上传按钮加上点击事件,调用jquery的ajax方法实现文件上传:

    $(function(){
       $("#uploadButton").click(function(){
            var formData = new FormData($("#excelUploadForm")[0]);
            $.ajax({
                type : "POST",
                url: "/upload",
                data: formData,
                processData: false,
                contentType: false,
                success : function(response){
                    alert(response.code);
                },
                error : function(response){
                    alert(response.code);
                }
          });
       });
    });

在这里,我们使用了FormData来获取表单数据,再通过ajax方法发送表单数据到后台进行处理。注意:processData和contentType设为false,表示不对数据进行处理。success和error是处理回调函数,根据后台返回值做出响应。

最后,服务端需要接收表单数据并进行处理。代码如下(以node.js为例):

    var express = require('express');
    var router = express.Router();
    var xlsx = require('node-xlsx');
    
    router.post('/upload', function(req, res) {
        var file = req.files.file;
        var obj = xlsx.parse(file.path);
        console.log(obj);
        res.json({code: 200});
    });

在服务端,我们需要使用node-xlsx模块对上传的excel文件进行解析,再对数据进行相应处理。最后,我们将处理后的结果返回给前端。

以上就是利用jquery上传excel文件的方法和代码实现,希望对开发者有帮助。