Я пытаюсь прочитать файл Excel в C # .net ядро 2.2. Для чтения Excel я использую EpPlus . Я взял ссылку из Загрузка файлов в ASP.NET Core . У меня Api вот так
public async Task<ActionResult<ReappropiationAccountViewModel>> Post(IFormFile file)
{
return Ok(await Mediator.Send(new SaveReappropriationAccountCommand { ReappropiationAccountFile = file }));
}
И моя команда такая
public class SaveReappropriationAccountCommand : IRequest<ReappropiationAccountViewModel>
{
public IFormFile ReappropiationAccountFile { get; set; }
}
И в моем обработчике я пытаюсь читать Excel вот так
using (var memoryStream = new MemoryStream())
{
await request.ReappropiationAccountFile.CopyToAsync(memoryStream);
using (ExcelPackage package = new ExcelPackage(memoryStream))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets[0];
int rowCount = worksheet.Dimension.End.Row;
int colCount = worksheet.Dimension.End.Column;
for (int row = 1; row <= rowCount; row++)
{
for (int col = 1; col <= colCount; col++)
{
var rowValue = worksheet.Cells[row, col].Value;
}
}
}
}
Но я не смог прочитать загруженный Excel, так как он добавляет InvalidDataException
в строку using (ExcelPackage package = new ExcelPackage(memoryStream))
.
Сообщение об исключении:
InvalidDataException: файл не является допустимым файлом пакета. Если файл зашифрован, укажите пароль в конструкторе.
Все кажется абсолютно правильным, но не смог прочитать данные Excel. Попытка прочитать этот файл Excel:
![enter image description here](https://i.stack.imgur.com/aKdWk.png)
Мой вопрос: где я ошибаюсь?