Прочитайте содержимое Excel после загрузки файла в MVC и заполните несколько текстовых полей - PullRequest
0 голосов
/ 09 октября 2018

Я загружаю файл 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 Возврат: изображение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...