在ASP.NET Core中使用EPPlus导入出Excel文件

这篇文章说明了如何使用EPPlus在ASP.NET Core中导入和导出.xls/.xlsx文件(Excel)。在考虑使用.NET处理excel时,我们总是寻找第三方库或组件。使用Open Office Xml格式(xlsx)读取和写入Excel 2007/2010文件的最流行的.net库之一是EPPlus。这个库现在已经支持.NET Core许久了。这适用于Windows,Linux和Mac。

因此,让我们创建一个新的ASP.NET Core WEB API应用程序并安装EPPlus.Core。要安装EPPlus.Core,请在程序包管理器控制台中运行以下命令:

PM->Install-Package EPPlus.Core

或者您可以通过UI界面来安装它.

640?wx_fmt=png

 一切就绪,现在创建一个控制器,命名为: ImportExportController ,添加后,让我们编写导出方法。

为了方便演示,我在wwwroot文件夹中创建了一个excel文件,所以我们就需要去获取我们的项目的绝对路径。

640?wx_fmt=png

 ExcelPackage 在 OfficeOpenXml 命名空间中可用的类将用于读写xlsx。定义名为“Export”的新Web api操作方法,该方法返回生成的xlsx文件的URL。所以这是将数据导出到xlsx的完整代码。其中您需要 using OfficeOpenXml; 

 

640?wx_fmt=png

就这样。现在,当您运行此应用程序并调用export方法时。完成后,访问wwwroot您的应用程序的文件夹。您应该在系统上看到“demo.xlsx”。当你打开它时,你应该看到以下内容。

640?wx_fmt=png

您还可以对标题进行加粗,这些并不是EPPlus.Core给我们提供的,你需要引用 using OfficeOpenXml; using OfficeOpenXml.Style; 

640?wx_fmt=png

 640?wx_fmt=png

 关于导入,其实真实的情况还是比较复杂的,我们这里就不进行验证了,对于演示,我们只是读取刚刚保存的文件。 ImportAPI 将读取文件并以格式化的字符串返回文件内容。以下是导入API的完整代码,用于读取xlsx,创建文件内容的格式化字符串并返回相同的内容。

640?wx_fmt=png

640?wx_fmt=png

希望可以帮助到你。

原文地址:https://www.cnblogs.com/ZaraNet/p/10421782.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 

640?wx_fmt=jpeg


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/317087.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

月旦评 之 DevOps招贤令2019 - 没有人比我们更懂DevOps

公元164-182年间,汝南平舆的许氏兄弟于每月初一品评人物,褒贬时政,被称为“月旦评”。所谓“子治世之能臣,乱世之奸雄也”这句许邵评价曹操的话也是来自于“月旦评”;时间一下子来到了2019年,DevOps招贤令再…

HDU - 2204 Eddy‘s爱好(尚未完全解决)

HDU - 2204 Eddy’s爱好 题意: 给你一个正整数N,确定在1到N之间有多少个可以表示成M^K(K>1)的数 题解: 参考题解: 我们先举例找找规律 1~10以内2的次方有多少个?有121,224,329,一共三个,…

EF Core中避免贫血模型的三种行之有效的方法(翻译)

[Paul Hiles: 3 ways to avoid an anemic domain model in EF Core :https://www.devtrends.co.uk/blog/3-ways-to-avoid-an-anemic-domain-model-in-ef-core]1.引言在使用ORM中(比如Entity Framework)贫血领域模型十分常见 。本篇文章将先探…

Saving Beans HDU - 3037(卢卡斯定理)

Saving Beans HDU - 3037(卢卡斯定理) 题意: 他们想知道有多少种方法可以在n树中保存不超过m个bean(它们是相同的)。 现在他们求助于你,你应该给他们答案。 结果可能非常巨大; 你应该输出模p的结果&…

我们为什么要搞长沙.NET技术社区(三)

我们为什么要搞长沙.NET技术社区(三) 小饭局搞事情先从饭局开始是中华民族的优良传统。昨天晚餐时间,长沙 .net 技术社区的主要发起人员进行了一番小聚,同时也作为一个非正式会议,对社区发展进行了探讨。从介绍自己对于…

【招聘(北京)】北森测评招聘 .NET 架构师、高级工程师

工作职责公司核心产品的迭代需求分析设计开发。公司核心产品的线上维护和性能调优。对初中级技术人员培养和质量把关。编写软件设计和技术文档。任职资格为人正直、诚信、责任心强,能承受较大工作压力。强烈的目标导向意识,逻辑思维清晰,执行…

网络流模型与技巧总结

文章目录前言常见基本模型最大匹配、最小点覆盖和最大独立集构造最小点覆盖最大点权匹配最小路径覆盖不可重覆盖可重覆盖最大权闭合子图建图技巧利用拆点进行限流利用断边表示决策利用虚点表示组合关系链状模型用链表示时间轴用链表示偏序关系形式的选取限制通过拆点描述先后顺…

卢卡斯定理 Lucas

参考文章 详细定义内容看这个参考文章 结论: 模板: Lucas函数: long long Lucas(long long n,long long m){if(m0) return 1;return Lucas(n/p,m/p)*C(n%p,m%p)%p; }组合数函数: 此处求逆元的用的bp-2 long long C(long long…

VS 2019 要来了,是时候了解一下 C# 8.0 新功能

近日,微软发布了 Visual Studio 2019 的发布日期,2019 年 4 月 2 日 Visual Studio 2019 将正式和大家见面,同时微软还将提供发布现场实时直播。除了 Visual Studio 2019 自身之外,VS 2019 的发布还牵动着很多 C# 开发者的心。虽然…

[蓝桥杯2020国赛]游园安排

题目: 题解: 本质就是求最长上升子序列,只不过这里是字符串版本的,我们都知道有n^2的LIS,但其实还有O(nlogn)版本的,详细看这里,套上就行 另外我发现这里竟然有蓝桥杯全套的编程题离谱&#xf…

重新解读DDD领域驱动设计(一)

回顾十年前,还未踏入某校时,便听闻某学长一毕业就入职北京某公司,月薪过万。对于一个名不见经传的小学院,一毕业能拿到这个薪水还是非常厉害的。听闻他学生期间参与开发了一款股票软件,股票那时正迎来一波疯涨。时也运…

程序员修神之路--高并发优雅的做限流(有福利)

点击上方蓝色字体,关注我们菜菜哥,有时间吗?YY妹,什么事?我最近的任务是做个小的秒杀活动,我怕把后端接口压垮,X总说这可关系到公司的存亡简单呀,你就做个限流呗这个没做过呀&#x…

免费馅饼 HDU - 1176

免费馅饼 HDU - 1176 题意: 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上…

微软 HoloLens 2 正式登场!让你看看什么叫真正的黑科技

北京时间 2 月 25 日凌晨消息,微软在 MWC19 举行新品发布会,正式发布了万众期待的 HoloLens 2 等产品。▲ 认识全新的 Microsoft HoloLens 2微软 HoloLens 全息眼镜是微软推出的一款头戴式混合现实装置,可以完全独立使用,无需线缆…

洛谷P6054:开门大吉

Description\text{Description}Description P6054 开门大吉 nnn 位选手去参加节目“开门大吉”。共有 mmm 套题,每套题包含 ppp 个题目,第 iii 位选手答对第 jjj 套题中第 kkk 道的概率为 fi,j,kf_{i,j,k}fi,j,k​。 若一位选手答对第 iii 题&#xff0…

Docker最全教程之Ubuntu下安装Docker(十五)

前言Ubuntu是一个以桌面应用为主的开源GNU/Linux操作系统,应用很广。本篇主要讲述Ubuntu下使用SSH远程登录并安装Docker,并且提供了Docker安装的两种方式,希望对大家有所帮助。拥抱Linux,大家可以从Ubuntu开始!Ubuntu下…

潘淳(寒树Office):不务正业的公众号满月了,都写了些啥?

三喜临门一 喜今天真是个好日子,“流浪太阳”又回来了,阴雨绵绵长恨无期,今天苏州终于天晴,于是心情大好!都说好心情会带来好运气,冥冥感觉要写点啥了,果不其然今天还有另外两喜。大早起来得…

G List it all

传送 题意: 题解: 我们来考虑以下样例:1,1,2 我们先考虑1的贡献:如图(图中只花了) 2!表示还剩两个空位,还有两个数未填入,所以是2!个 对于n个数重复&#x…

ASP.NET Core 实战:基于 Dapper 扩展你的数据访问方法

一、前言在非静态页面的项目开发中,必定会涉及到对于数据库的访问,最开始呢,我们使用 Ado.Net,通过编写 SQL 帮助类帮我们实现对于数据库的快速访问,后来,ORM(Object Relational Mapping&#x…

微软发布 Visual Studio 2019年第二季度路线图

微软近日发布了 Visual Studio 2019 年第二季度的路线图,路线图介绍了目前 VS 致力于在 VS 2019 发布的一些重要功能。官方表示,Visual Studio 2019 将继续按照 Visual Studio 发行周期流程提供更新,也就是约每 6 周推出一次次要更新&#xf…