文件导入与导出

xu12150501 / 2023-08-25 / 原文

一、文件导入

1、安装MiniExcel的NuGet程序包

 2、创建API接口

3、获取上传文件信息

var formFile = HttpContext.Request.Form.Files[0];

4、开辟文件流空间

MemoryStream stream = new MemoryStream();

5、将获取到的文件信息存放到文件流中

formFile.CopyTo(stream);

6、将文件流中的信息转换成对应的实体信息

var list = stream.Query<RoleInfo>();

7、将实体信息保存到数据库

_roleRepository.AddRangeEntity(list.ToList());
_roleRepository.SaveChanges()

 二、文件导出

1、安装MiniExcel的NuGet程序包

2、创建接口

3、获取数据库中所有信息

List<RoleInfo>? list = _roleService.GetAll().ToList();

4、内存流开辟空间

MemoryStreamstream = new MemoryStream();

5、将数据写入内存流,从第0位开始写

Stream.SaveAs(list);

  Stream.Seek(0, SeekOrigin.Begin);

6、返回内存流

Return new FileStreamResult(memoryStream,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet(文件的格式为Excel格式)")
{
    FileDownloadName = "RoleMessage.xlsx(导出后的文件名)"
};