今天学习了miniExcel,并通过它实现了一个简单的上传和导出的功能
导入比较简单:
public IActionResult ImportExcel()
{
var file = HttpContext.Request.Form.Files[0]; //获取上传的文件信息
var stream = new MemoryStream(); //新建内存流
file.CopyTo(stream); //将文件写入内存流
var list = stream.Query<User>();//将内存流中的文件数据转化为IEnumable<User>类型
var res = _userServices.BatchAdd(list); //然后调用批量添加方法将数据添加到数据库中
return Ok(res);
}
这样就实现了通过miniExcel,将上传的excel文件的数据存到数据库对应的table中
然后导入的时候,一开始一直犯错,后续发现是导入的Excel里有空行的问题。
目前还没有解决这个BUG,只能先把空行删除这样就能正常导入了。
导出数据库里的数据到Excel中,具体代码如下:
public IActionResult ExportExcel()
{
//1.查找到导出的数据(需要有数据源)
var list = _userServices.GetUserAll();
//2.将数据源存放到内存里
//MemoryStream在内存中开辟一块空间
var memoryStream = new MemoryStream();
//将list数据原】源存放到内存里
memoryStream.SaveAs(list);
//offset偏移量,0开始
memoryStream.Seek(0, SeekOrigin.Begin);
return new FileStreamResult(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
{
FileDownloadName = "user.xlsx"
};
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现