ASP .净核心使用埃普勒斯。核心导入导出Excel xlsx文件埃普勒斯。核心支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows、Linux和麦克。
埃普勒斯。核心是基于埃普勒斯更改而来,在Linux操作系统操作系统下需要安装libgdiplus。
EPPlus:http://pplus。codeplex。com/
埃普勒斯。核心:https://github.com/VahidN/EPPlus .核心
下面在ASP .净核心中导入导出Excel xlsx文件。
新建项目
新建一个ASP .核心网络应用程序项目ASPNETCoreExcel,选择网应用程序不进行身份验证。
然后添加埃普勒斯。核心引用。
使用NuGet命令行:
安装-打包埃普勒斯.核心
也可以使用NuGet包管理器安装。
导出xlsx文件
新建一个XlsxController,添加出口操作。
公共类XlsxController :控制器{私有IHostingEnvironment _ hosting environment;public xlsxccontroller(ihostingenvironmentinstantingenvironment){ _ hosting environment=hosting environment;} public IActionResult Index(){ return View();} public IActionResult Export(){ string swebootfolder=_ hostingEnvironment .WebRootPath字符串sFileName=$'{Guid .NewGuid()} .xlsx ';文件信息文件=新文件信息(路径combine(swebootfolder,sFileName));使用(ExcelPackage包=新的ExcelPackage(文件)){ //添加工作表excel工作表工作表=包。工作簿。工作表。添加(“aspnet core”);//添加头工作表。单元格[1,1]。值='标识;工作表。单元格[1,2]。值="名称";工作表。单元格[1,3]。值=' Url//添加值工作表。单元格['A2'].值=1000;工作表。细胞['B2'].值=' LineZero工作表。细胞['C2'].value=' http://www。cn博客。com/line zero/';工作表。单元格['A3'].值=1001;工作表。细胞['B3'].Value=' LineZero GitHub工作表。细胞['C3'].value=' https://github。com/line zero ';工作表。单元格['C3'].包裹save();}返回文件(sFileName,' application/vnd。office文档。spreadsheetml。sheet’);} }通过依赖注入获取主机环境,对应可以获取程序的相关目录及属性。
然后添加索引视图增加一个链接导出超过
@{ }h2ASP .净核心导入导出Excel xlsx文件/h2a asp-action='Export '导出Excel/a点击导出文件,打开结果如下。
导入xlsx文件
在指数视图中添加一个上传文件,添加导入操作。
Index.cshtml
@{ }h2ASP .净核心导入导出Excel xlsx文件/h2a asp-action='Export '导出excel/ahr/form enctype='多部分/表单-数据'方法='post' asp-action='Import '输入类型=“文件”名称='excelfile' /输入类型='提交'值='上传//form[httpset]public IActionResult Import(iFIle excelfile){ string swebootfolder=_ hosting environment .WebRootPath字符串sFileName=$'{Guid .NewGuid()} .xlsx ';文件信息文件=新文件信息(路径combine(swebootfolder,sFileName));请尝试使用{ FileStream fs=新的FileStream(文件ToString(),文件模式.Create)) { excelfile .复制到(fs);fs .flush();}使用(ExcelPackage包=new ExcelPackage(文件)){ StringBuilder sb=new StringBuilder();excel工作表工作表=包。工作簿。工作表[1];int行数=工作表。维度。行;int ColCount=工作表。维度。列;bool bHeaderRow=true for(int row=1;row=RowCountow){ for(int col=1;col=ColCountcol){ if(bHeaderRow){ sb .追加(工作表。单元格[行,列].价值。ToString()' t ');} else {某人。追加(工作表。单元格[行,列].价值。ToString()' t ');}某人。附加(环境. NewLine);}返回内容(某人. ToString());} } catch(Exception ex){ return Content(ex1 .消息);} }运行程序打开http://localhost:5000/xlsx
上传对应文件,显示如下。
ASP .净核心简单的导入导出超过功能也就完成了。
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。