это всего лишь обработчик для загрузки данных Excel из базы данных, я даже пытался использовать отладчик, и все идет хорошо. На chrome или firefox этот файл появляется при загрузке, как только я нажимаю кнопку, но на новом MS Edge требуется от 10 до 20 или более секунд, чтобы начать загрузку? Почему ???
public async Task<FileResult> OnGetDownloadExcel(int id)
{
var inventarios = await _context.Localizations
.Where(l => l.InventoryRecordId == id)
.Select(ir => new
{
ir.InventoryRecord.Id,
Armazem = ir.InventoryRecord.Warehouse.Name,
Colaborador = ir.InventoryRecord.User.Name,
ir.InventoryRecord.CreationDate,
ir.InventoryRecord.ClosedDate,
ir.InventoryRecord.Warehouse.Objective,
Resultado = (ir.InventoryRecord.Localizations.Sum(l => l.Precision) / ir.InventoryRecord.Localizations.Count()) * 100,
Localizacao = ir.Name,
ir.LabelsMissing,
ir.LabelsStored,
ir.Precision,
ir.Labels
})
.AsNoTracking()
.ToListAsync();
var comlumHeadrs = new string[]
{
"Id",
"Armazém",
"Colaborador",
"Criado Em",
"Finalizado Em",
"Objectivo",
"Resultado Final",
"Localização",
"Etiquetas Por Inventariar",
"Etiquetas Inventariadas",
"Precisão",
"Referência",
"Etiqueta Não Encontrada"
};
byte[] result;
using (var package = new ExcelPackage())
{
// add a new worksheet to the empty workbook
var worksheet = package.Workbook.Worksheets.Add("Inventário"); //Worksheet name
using (var cells = worksheet.Cells[1, 1, 1, 13]) //(1,1) (1,6)
{
cells.Style.Font.Bold = true;
}
//First add the headers
for (var i = 0; i < comlumHeadrs.Count(); i++)
{
worksheet.Cells[1, i + 1].Value = comlumHeadrs[i];
}
//Add values
var j = 2;
foreach (var item in inventarios)
{
if (item.Labels.Count() != 0)
{
foreach (var etiqueta in item.Labels)
{
worksheet.Cells[$"A{j}"].Value = item.Id;
worksheet.Cells[$"B{j}"].Value = item.Armazem;
worksheet.Cells[$"C{j}"].Value = item.Colaborador;
worksheet.Cells[$"D{j}"].Value = item.CreationDate.ToString("dd-mm-yyyy");
worksheet.Cells[$"E{j}"].Value = item.ClosedDate.Value.ToString("dd-mm-yyyy");
worksheet.Cells[$"F{j}"].Value = item.Objective;
worksheet.Cells[$"G{j}"].Value = item.Resultado;
worksheet.Cells[$"H{j}"].Value = item.Localizacao;
worksheet.Cells[$"I{j}"].Value = item.LabelsMissing;
worksheet.Cells[$"J{j}"].Value = item.LabelsStored;
worksheet.Cells[$"K{j}"].Value = item.Precision * 100;
worksheet.Cells[$"L{j}"].Value = etiqueta.Reference;
worksheet.Cells[$"M{j}"].Value = etiqueta.Name;
j++;
}
}
else
{
worksheet.Cells[$"A{j}"].Value = item.Id;
worksheet.Cells[$"B{j}"].Value = item.Armazem;
worksheet.Cells[$"C{j}"].Value = item.Colaborador;
worksheet.Cells[$"D{j}"].Value = item.CreationDate.ToString("dd-mm-yyyy");
worksheet.Cells[$"E{j}"].Value = item.ClosedDate.Value.ToString("dd-mm-yyyy");
worksheet.Cells[$"F{j}"].Value = item.Objective;
worksheet.Cells[$"G{j}"].Value = item.Resultado;
worksheet.Cells[$"H{j}"].Value = item.Localizacao;
worksheet.Cells[$"I{j}"].Value = item.LabelsMissing;
worksheet.Cells[$"J{j}"].Value = item.LabelsStored;
worksheet.Cells[$"K{j}"].Value = item.Precision * 100;
worksheet.Cells[$"L{j}"].Value = "";
worksheet.Cells[$"M{j}"].Value = "";
j++;
}
}
result = package.GetAsByteArray();
}
return File(result, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", $"inventario{id}.xlsx");
}
РЕДАКТИРОВАТЬ
Вот моя крайняя версия
Версия 80.0.361.66 (Официальная сборка) (64 -bit)
в любом случае, может быть, это не то место, чтобы спрашивать об этом, но я не знаю, где я могу сообщить о проблемах с Edge
это изображение, когда Я нажимаю на кнопку, и запрос является последним элементом в нижней части, как вы можете видеть, что нет проблем.
