У меня проблемы с обменом файлом. От XLS до XLSX - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь внести изменения в код приложения, потому что я все равно попробовал и у меня ничего не получилось.В моей системе есть вкладка отчетов, но она экспортирует только файлы XLS, и мне нужно переключиться на XLSX, потому что размер XLS ограничен 65 000 строк.Я покажу часть моего контроллера, когда он монтирует XLS.Я не могу показать свой метод обслуживания, потому что он ОЧЕНЬ велик, и вы были бы немного потеряны.

[CustomAuthorize(TipoFuncao.PRINT)]
public ActionResult Index(FiltroRptManifesto filtro)
{
    byte[] result = null;
    bool overflowMonth = false;
    IWorkbook workbook = new XSSFWorkbook();

    try
    {                
        RptManifestoService rptManifestoService = new RptManifestoService(ModelState);
        result = rptManifestoService.GeraExcel(Server.MapPath("~/Content/RptManifesto.xls"), filtro, ViewBag.Usuario);
        if (ModelState.IsValid)
        {
             if (ValidateDate(ModelState["DtProtocoloIni"].Value, ModelState["DtProtocoloFin"].Value).Days > 540)
             {
                 overflowMonth = true;
                 throw new Exception();
             };

             Response.AppendCookie(new HttpCookie("downloadToken", filtro.DownloadToken));                                    
             return File(result, "application/vnd.ms-excel", "Manifesto.xls");
        }
    }
//...

1 Ответ

0 голосов
/ 07 июня 2019

Я никогда не использовал NPOI, поэтому я могу ошибаться, но что произойдет, если вы сделаете:

var fileName = "Manifesto.xlsx";
return File(result, MimeMapping.GetMimeMapping(fileName), fileName);

или

return File(
        result, 
        "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", 
        "Manifesto.xlsx");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...