首页 > 解决方案 > 在MVC中上传文件后读取Excel内容并填写一些文本框

问题描述

我正在上传一个 excel 文件并想读取文件内容,并在上传后使用 jquery ajax 填充一些带有 excel 内容的文本框。文件上传正确,但是当我想读取 excel 内容时遇到问题。有谁能够帮我?

public JsonResult ImportExcelToTextBoxes()
{
    try
    {
        var ExcelFile = Request.Files[0];

        if (ExcelFile != null && ExcelFile.ContentLength > 0)
        {
            //// .xlsx
            //IExcelDataReader reader = ExcelReaderFactory.CreateOpenXmlReader(ExcelFile.InputStream);

            // .xls
            IExcelDataReader reader = ExcelReaderFactory.CreateBinaryReader(ExcelFile.InputStream);

            var result = reader.AsDataSet(new ExcelDataSetConfiguration() {
                ConfigureDataTable = (_) => new ExcelDataTableConfiguration() {
                    UseHeaderRow = true
                }
            });
        }

        //foreach (var item in ExcelFile)
        {
        IList lst = new List<ET.Reservation.Classes.PassengerSaleSeat>();
        ET.Reservation.Classes.PassengerSaleSeat pass = new ET.Reservation.Classes.PassengerSaleSeat();
        pass.FirstName = "testtt";//this section is for test
        pass.LastName = "tttttt";//this section is for test
        pass.Gender = ET.Public.Enumerations.GENDER.Female;//this section is for test
        lst.Add(pass);//this section is for test
        }

        return Json(lst);
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex);
        throw ex;
    }
    return null;
}

和js部分:

$('#btnUploadExcel').click(function () {
    var formData = new FormData();
    formData.append('file', fileInput.files[0]);
    $.ajax({
        type: "POST",
        url: "/PassengerSaleSeat/ImportExcelToDatabase",
        data: formData,
        processData: false,
        contentType: false,
        success: function (data) {
            for (var i = 0; i < data.length; i++) {
                alert(data[i].FirstName);
            }
        },
        error: function(err) {
            alert('error');
        }

    });
});

输入是:

<input id="fileInput" type="file">
<button type="button" id="btnUploadExcel" class="btn btn-labeled btn btn-success">Send</button>

JSON 返回: 图片

标签: c#jqueryjsonasp.net-mvc

解决方案


推荐阅读