在MVC中上传文件后读取Excel内容并填充一些文本框

时间:2018-10-09 09:34:12

标签: c# jquery json asp.net-mvc

我正在上传一个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返回: image

0 个答案:

没有答案