首页 > 其他分享 >.NetCore WebAPI 导入、导出Excel文件 导入

.NetCore WebAPI 导入、导出Excel文件 导入

时间:2023-08-25 21:22:20浏览次数:57  
标签:WebAPI stream NetCore formFile list 导入 内存 var

先下载一个NuGet包

 在接口写方法

//导入

[HttpPost]
[Route("Import")]
public IActionResult ImportExcel() //IFormFile formFile
{
try
{
var formFile = HttpContext.Request.Form.Files[0];
////获取当前程序的根目录 d:\\八维
//var dir = AppDomain.CurrentDomain.BaseDirectory;
////获取文件名
////11.xlsx
//var fileName = formFile.FileName;
////将目录和文件名进行合并 //d:\\八维\\11.xlsx
//var newFileName = Path.Combine(dir, fileName);
////System.IO.File.Create(newFileName) 创这个文件在当前根目录下
//using (var stream = System.IO.File.Create(newFileName))
//{
// formFile.CopyTo(stream);
//}
//将 文件保存到哪个位置
//保存文件名

//内存流--在内存当中开辟一块空间
using MemoryStream stream = new MemoryStream();
//将文件流 导入到内存当中
formFile.CopyTo(stream);
var list = stream.Query<RoleInfo>();
_roleInfoRespority.AddEntiryRange(list);
_roleInfoRespority.SaveChnages();
return Ok(new ApiResult { Code=200, Msg="导入成功"});
}
catch (Exception)
{
throw;
}
}

 

 

 

//导出

[HttpGet]
[Route("Export")]
public IActionResult ExportExcel()
{
//获取所有数据
var list = _roleInfoRespority.GetAll().ToList();
//在内存中当开辟空间
var memoryStream = new MemoryStream();
//将数据写到内存当中
memoryStream.SaveAs(list);
//从0的位置开始写入
memoryStream.Seek(0, SeekOrigin.Begin);
//返回文件流 //格式是Excel格式
return new FileStreamResult(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
{
FileDownloadName = "角色信息.xlsx"
};
}

 

 

标签:WebAPI,stream,NetCore,formFile,list,导入,内存,var
From: https://www.cnblogs.com/helloqh/p/17657992.html

相关文章

  • Excel导入与导出
    1、下载NuGet包 2、在API中创建一个文件夹,写一个Excel模版 3、在浏览器查看,需要使用中间件UseStaticFiles 4、在控制器中书写导入、导出方法;代码如下所示:1///<summary>2///Excel导入3///</summary>4///<returns></retu......
  • vue3中组件,api的自动导入
    vue3中ref,reactive等api和自定义组件等每个页面都要引入很麻烦,偷懒是人的天性,故引入自动导入插件,以此记录:1.vue3的api自动导入使用前:<scriptsetuplang="ts">import{ref,onMounted}from'vue'constimgUrl=ref("")constcanvas=ref()onMounted(()=>......
  • 盘点10个.NetCore实用的开源框架项目
    连续分享.Net开源项目快3个月了,今天我们一起梳理下10个,比较受到大家欢迎的.NetCore开源框架项目。更多开源项目,可以查看我创建的,.Net开源项目榜单!一个专注收集.Net开源项目的榜单​github.com/bianchenglequ/netcodetop1、FytSoaCms前后端分离CMS系统项目简介这是一个基于.N......
  • 导入导出(Excel)vue
     导入导出(Excel)首先 vue安装插件 (最后有完整代码)npm install xlsx file-saver其次:简单的导出按钮代码:<template>  <div>    <el-button type="primary" @click="exportExcel">导出 Excel</el-button>    <input      type="file&qu......
  • Microsoft.AspNetCore.Identity
    前言用户模块几乎是每个系统必备的基础功能,如果每次开发一个新项目时都要做个用户模块,确实非常无聊。好在asp.netcore给我们提供了Identity,使用起来也是比较方便,如果对用户这块需求不是非常个性化的话,identity是一个不错的选择。ASP.NETCoreIdentity:是一个API,它支持用......
  • mysql导入sql文件“Index column size too large. The maximum column size is 767 by
    问题分析由于MySQL的InnoDB引擎表索引字段长度的限制为767字节,因此对于多字节字符集的大字段或者多字段组合,创建索引时会出现该问题。说明注:以utf8mb4字符集字符串类型字段为例。utf8mb4是4字节字符集,默认支持的索引字段最大长度是191字符(767字节/4字节每字符......
  • PPT一键导入秒变视频?你没听错!有了这个神器,让你的PPT从基础到高级,转化为视频就像变魔术
    我们都知道PPT是一个绝对实用的工具,可以帮助我们展示演讲、产品介绍、项目计划等等。但是有时候,我们想把PPT变成视频的形式,这样更容易传播和分享啦!   那么你会制作PPT吗?你在使用中有遇到过一些困难吗?让我给你看看我身边几位朋友对PPT的感受吧! 企业朋友A说:......
  • .Net Core使用miniExcel实现导入导出
    .NetCore使用miniExcel实现导入导出首先,引入NuGet包:MiniExcel第三方插件一、导入    publicintUpLoadExecl()   {      //获取文件数据,[0]代表只能上传一个文件,如果要传递多个文件注意:文件名不能重复      varformInfor=HttpCo......
  • 使用easyexcel导入62个字段,十万加行数的excel
    使用easyexcel导入62个字段,十万加行数的excel1️⃣准备工作1.版本对应在easyexcel官网的常见问题栏中往下滑找到2.下载jar包maven项目不想多说,在pom.xml文件下,dependcy标签下引入就可以;在web_inf项目下需要手动引入jar包,在mvn中心仓库,下载对应jar包以及所依赖的其他jar包......
  • 2、postgres数据导入
    目录postgres数据导入1、数据导入2、导入不存在数据库处理3、整库导入postgres数据导入1、数据导入psql-fuser_export.sql-hlocalhost-Umypguser-Wmypostgres参数说明:-f读取的sql文件-h导入的ip地址-U导入的用户-W导入指定的数据库2、导入不存在数据库处理......