1.前言

  EPPlus是一个使用Open Office XML(xlsx)文件格式,能读写Excel 2007/2010 文件的开源组件,在导出Excel的时候不需要电脑上安装office,它的一个缺点就是不支持导出2003版的Excel(xls)。

2.数据导出

    在此之前,先引入nuget包:EPPlus.Core   

        [HttpGet]
public IActionResult Export()
{
string sWebRootFolder = hostingEnv.WebRootPath;
string sFileName = $@"qmhuangtext{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx";
var path = Path.Combine(sWebRootFolder, sFileName);
FileInfo file = new FileInfo(path);
//构建数据
List<Person> list1 = new List<Person>()
{
new Person{Name = "",Sex="男"},
new Person{Name = "",Sex="男"},
new Person{Name = "",Sex="女"}
};
if (file.Exists)
{
file.Delete();
file = new FileInfo(path);
}
using (ExcelPackage package = new ExcelPackage(file))
{
    //创建sheet
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(“sheetname”);
worksheet.Cells.LoadFromCollection(list1 ,true);
package.Save(); //Save the workbook.
}
return File(new FileStream(Path.Combine(sWebRootFolder, sFileName), FileMode.Open), "application/octet-stream", $"excel导出测试{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx");
}

在导出时有很多种数据Resource可以选择,比如上面的 LoadFromCollection ,还有 LoadFromDataTable  ,  LoadFromText 等方法

  worksheet.Cells.LoadFromCollection(list1 ,true);   //此方法第二个参数决定是否打印表头,第一行标题栏

2.数据导入

         /// <summary>
/// 读取sheet 内的数据进入实体
/// </summary>
/// <param name="worksheet"></param>
/// <returns></returns>
public List<Person> GetSheetValues(string filepath)
{
FileInfo file = new FileInfo(filepath);
if (file != null)
{
using (ExcelPackage package = new ExcelPackage(file))
{ ExcelWorksheet worksheet = package.Workbook.Worksheets[];
//获取表格的列数和行数
int rowCount = worksheet.Dimension.Rows;
int ColCount = worksheet.Dimension.Columns;
var persons = new List<Person>();
for (int row = ; row <= rowCount; row++)
{
Person person = new Person();
person.Name = worksheet.Cells[row, ].Value.ToString();
person.Sex = worksheet.Cells[row, ].Value.ToString();
persons.Add(person);
}
return persons;
}
}
return null;
}

注:你会发现上面在取数据时,遍历worksheet时坐标是从(1,1)开始的。epplus的顶点就是这个位置,如果你试图读取0位置,则会报错

.NET Core使用EPPlus简单操作Excel(简单实现导入导出)的更多相关文章

  1. C# 使用自带Microsoft.Office.Interop.Excel简单操作Excel文件

    项目添加应用 Microsoft.Office.Interop.Excel.dll 文件 引用命名空间: using Excel = Microsoft.Office.Interop.Excel; 简 ...

  2. 循序渐进开发WinForm项目(5)--Excel数据的导入导出操作

    随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到C#开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了. 其实也许我 ...

  3. VB中Excel 2010的导入导出操作

    VB中Excel 2010的导入导出操作 编写人:左丘文 2015-4-11 近来这已是第二篇在讨论VB的相关问题,今天在这里,我想与大家一起分享一下在VB中如何从Excel中导入数据和导出数据到Ex ...

  4. SQL SERVER 与ACCESS、EXCEL的数据导入导出转换

    * 说明:复制表(只复制结构,源表名:a 新表名:b)      select * into b from a where 1<>1 * 说明:拷贝表(拷贝数据,源表名:a 目标表名:b) ...

  5. 利用PHPExcel 实现excel数据的导入导出(源码实现)

    利用PHPExcel 实现excel数据的导入导出(源码实现) 在开发过程中,经常会遇到导入导出的需求,利用phpexcel类实现起来也是比较容易的,下面,我们一步一步实现 提前将phpexcel类下 ...

  6. Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能

    1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和导出. 该 ...

  7. 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能

    1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和 导出  ...

  8. 使用phpExcel实现Excel数据的导入导出(完全步骤)

    使用phpExcel实现Excel数据的导入导出(完全步骤)   很多文章都有提到关于使用phpExcel实现Excel数据的导入导出,大部分文章都差不多,或者就是转载的,都会出现一些问题,下面是本人 ...

  9. Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解

    1.简介 本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,来一起看看详细的介绍吧. Laravel Excel 在 ...

随机推荐

  1. 线段树(单点更新) HDOJ 4288 Coder

    题目传送门 #include <cstdio> #include <cstring> #define lson l, m, rt << 1 #define rson ...

  2. 使用PlSQLDeveloper工具查询Oracle会话数

    PlSQLDeveloper工具提供了会话管理功能. 能够查询会话内容.杀死会话.查看会话SQL等操作. 常用的会话查询SQL如下: -- 查询所有会话 select * from v$session ...

  3. hibernate Day1

    1 Web内容回顾(1) JavaEE三层架构web层(struts2框架)service层(spring框架)dao层(hibernate框架):负责对数据库进行CRUD操作(2) MVC模式(这是 ...

  4. Java 修改编码格式的几种方式

    1.工作空间 workspase Window→Preferences→General→Workspace→Text file encoding→other→UTF-8 2.项目编码格式 右键项目名→ ...

  5. Spark MLlib编程API入门系列之特征选择之R模型公式(RFormula)

    不多说,直接上干货! 特征选择里,常见的有:VectorSlicer(向量选择) RFormula(R模型公式) ChiSqSelector(卡方特征选择). RFormula用于将数据中的字段通过R ...

  6. Dynamic Median

    题意: 设计一个数据结构,初始为空,支持以下操作: (1)增加一个元素,要求在log(n)时间内完成,其中n是该数据结构中当前元素的个数.注意:数据结构中允许有重复的元素. (2)返回当前元素集合的中 ...

  7. intellij idea 调试 lua程序, 突然崩溃或者xmx不够的情况

    将内存各方面的数值都改大一点.都什么时代了,默认数值还这么低... -server-Xms256m-Xmx1024m-XX:ReservedCodeCacheSize=240m-XX:+UseConc ...

  8. jQuery选择器之属性筛选选择器

    在这么多属性选择器中[attr="value"]和[attr*="value"]是最实用的 [attr="value"]能帮我们定位不同类型 ...

  9. 毕业设计:主界面(ViewPager + FragmentPagerAdapter)

    一.主要思路 应用程序的主界面包含三个部分:顶部标题栏.底部标识栏和中间的内容部分.顶部标题栏内容基本不变,用于显示当前模块或者整个应用的名称:底部既能标识出当前Page,又能通过触发ImageBut ...

  10. 从URL输入到页面展示都发生了什么?

    总的来说分为以下过程: DNS解析 TCP三次握手 发送HTTP请求 服务器端处理请求并返回HTTP保文 浏览器渲染页面 断开连接:TCP的四次挥手 URL到底是什么? URL(Uniform Res ...