«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Метод загрузки файла Excel, сгенерированный MVC Form с использованием AJAX

Метод загрузки файла Excel, сгенерированный MVC Form с использованием AJAX

Опубликовано в 2025-04-19
Просматривать:707

How to Download an Excel File Generated from an MVC Form using AJAX?

загрузить файл Excel через AJAX в MVC

]]]

при обработке больших форм в MVC вам может потребоваться генерировать файл Excel, который содержит данные для определенного подмножества формы, не влияя на остальные. Ajax предоставляет решение для этого, позволяя вам делать частичные запросы на сервер.

]

не может загрузить файл Excel напрямую

]

, к сожалению, вы не можете вернуть файл, который хотите скачать непосредственно через Ajax. Вместо этого изучите альтернативные способы публикации соответствующих данных на сервере с помощью AJAX.

]

Генерация файлов и ответ на стороне сервера

]]

на вашем сервере вы можете использовать код на стороне сервера для генерации файлов Excel. Для этого рассмотрите возможность использования таких библиотек, как Epplus или NPOI. Затем вы можете передать имя или имя файла созданного файла в качестве возвращаемого значения обратно к вашему вызову AJAX.

]

redirect to file download

]]

в JavaScript клиента вы можете использовать window.location = '/reports/download? File =' returnValue для установки местоположения окна JavaScript в URL -адрес файла, тем самым побуждая браузер для его загрузки.

]

бесшовное пользовательское опыт

]]

Этот подход обеспечивает бесшовную пользовательскую работу, потому что операция загрузки файла не покидает исходную страницу.

]

пример вызова Ajax

]]

ниже приведен пример того, как Ajax Call достигает этого:

]
$.ajax({
    type: 'POST',
    url: '/Reports/ExportMyData',
    data: '{ "dataprop1": "test", "dataprop2" : "test2" }',
    contentType: 'application/json; charset=utf-8',
    dataType: 'json',
    success: function (returnValue) {
        window.location = '/Reports/Download?file='   returnValue;
    }
});

Метод контроллера для загрузки файла

соответствующий метод контроллера для операции загрузки может быть следующим образом:

]

] [httpget]
Public Virtual ActionResult Download (String File)
{
  string fullPath = path.combine (server.mappath ("~/myfiles"), файл);
  вернуть файл (FullPath, "Application/Vnd.Ms-Excel", File);
}  
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3