目前只是用到导出Excel功能,导出大规模数据量速度也很快,而且比较容易操作(最起码导出是,暂时没有用到处理已存在的excel功能,有人说NPOI也好用,试了一下,最起码导出这个不如EPPlus   --狗头保命)

  1.  引入Get包   :EPPlus   

    

  2.    这个东西不能商用,需要添加一个非商业的凭证许可,也可以去官网看看怎么商用。

    //非商业EPPlus凭证许可
ExcelPackage.LicenseContext = OfficeOpenXml.LicenseContext.NonCommercial;

  3. 简单的代码示例

 /// <summary>
///导出EXCEL
/// </summary>
public static void ExportExcel()
{
//非商业EPPlus凭证许可
ExcelPackage.LicenseContext = OfficeOpenXml.LicenseContext.NonCommercial;
//excel路径
FileInfo newFile = new FileInfo("C:\\Users\\zhang\\Desktop\\数据.xlsx");
//判断excel是否存在了,因为目前是导出数据到新的excel,有相同文件名的excel就删除重新创建
if (newFile.Exists)
{
newFile.Delete();
}
//1.根据路径文件,已存在就创建一个新实例来操作,即编辑execl操作
//2.若是文件不存在,就会创建新的EXCEL并操作,
using (ExcelPackage package = new ExcelPackage(newFile))
{
//创建shheet页,可以根据需求,添加多个sheet,例如: ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("数据2");
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("数据");
#region 标头,即execl列名
worksheet.Cells[1, 1].Value = "ID";
worksheet.Cells[1, 2].Value = "QN";
worksheet.Cells[1, 3].Value = "ProjectID";
worksheet.Cells[1, 4].Value = "PoleID";
worksheet.Cells[1, 5].Value = "DeviceID";
worksheet.Cells[1, 6].Value = "DeviceMNCode";
worksheet.Cells[1, 7].Value = "DataTime";
worksheet.Cells[1, 8].Value = "UploadTime";
worksheet.Cells[1, 9].Value = "MetricA01001";
worksheet.Cells[1, 10].Value = "FlagA01001";
#endregion
int num = 1;
//data就是要循环的数据.根据个人要求自行修改即可
List<dynamic> data = new List<dynamic>() { };
for (int i = 0; i < data.Count; i++)
{
num++;
worksheet.Cells[num, 1].Value = data[i].ID;
worksheet.Cells[num, 2].Value = data[i].QN;
worksheet.Cells[num, 3].Value = data[i].ProjectID;
worksheet.Cells[num, 4].Value = data[i].PoleID;
worksheet.Cells[num, 5].Value = data[i].DeviceID;
worksheet.Cells[num, 6].Value = data[i].DeviceMNCode;
worksheet.Cells[num, 7].Value = data[i].DataTime.ToString();
worksheet.Cells[num, 8].Value = data[i].UploadTime.ToString();
worksheet.Cells[num, 9].Value = data[i].MetricA01001.ToString();
worksheet.Cells[num, 10].Value = data[i].FlagA01001.ToString();
}
//最后将实例保存,保存的位置就是刚才创建实例的路径
package.Save();
}
}

简单的代码示例

4.  读取已有excel

      static void ExcelDES(string fileinfo)
{
FileInfo file = new FileInfo("路径");
ExcelPackage.LicenseContext = OfficeOpenXml.LicenseContext.NonCommercial;
using (ExcelPackage package = new ExcelPackage(file))
{
ExcelWorksheet wb = package.Workbook.Worksheets[0];
int row = wb.Dimension.Rows;
Console.WriteLine(row);
for (int i = 1; i <= row; i++)
{
string ip = wb.Cells[i, 1].Value.ToString();
}
package.Save();
}
}

EPPlus使用方法---Excel处理我觉得超级好用的更多相关文章

  1. EpPlus读取生成Excel帮助类+读取csv帮助类+Aspose.Cells生成Excel帮助类

    大部分功能逻辑都在,少量自定义异常类和扩展方法 ,可用类似代码自己替换 //EpPlus读取生成Excel帮助类+读取csv帮助类,epplus只支持开放的Excel文件格式:xlsx,不支持 xls ...

  2. 使用 EPPlus 封装的 excel 表格导入功能 (.net core c#)

    使用 EPPlus 封装的 excel 表格导入功能 前言 最近做系统的时候有很多 excel导入 的功能,以前我前后端都做的时候是在前端解析,然后再做个批量插入的接口 我觉着这样挺好的,后端部分可以 ...

  3. 使用 EPPlus 封装的 excel 表格导入功能 (二) delegate 委托 --永远滴神

    使用 EPPlus 封装的 excel 表格导入功能 (二) delegate 委托 --永远滴神 前言 接上一篇 使用 EPPlus 封装的 excel 表格导入功能 (一) 前一篇的是大概能用但是 ...

  4. 使用NPOI或EPPlus来导出Excel文件实例,可在Excel文件加密

    使用NPOI.dll组件来导出Excel文件,并设置样式,Nuget引用即可. packages\NPOI.2.1.3.1\lib\net20\NPOI.dll #region Excel prote ...

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

    这篇文章说明了如何使用EPPlus在ASP.NET Core中导入和导出.xls/.xlsx文件(Excel).在考虑使用.NET处理excel时,我们总是寻找第三方库或组件.使用Open Offic ...

  6. EPPlus实战篇——Excel写入

    .net core 项目 可以向excel写入任何类型(T)的数据,只要T中的field的[Display(Name = "1233", Description = "# ...

  7. EPPlus实战篇——Excel读取

    .net core 项目 可以从excel读取任何类型(T)的数据,只要T中的field的[Display(Name = "1233")]中的name==excel column ...

  8. .NET Core使用EPPlus简单操作Excel(简单实现导入导出)

    1.前言 EPPlus是一个使用Open Office XML(xlsx)文件格式,能读写Excel 2007/2010 文件的开源组件,在导出Excel的时候不需要电脑上安装office,它的一个缺 ...

  9. ASP.NET Core使用EPPlus导入导出Excel

    开发过程中,经常会遇到导入导出数据的需求,本篇博客介绍在.NET Core中如何使用EPPlus组件导入导出Excel EPPlus: EPPlus是使用Open Office XML格式(xlsx) ...

  10. Epplus:导出Excel

    看到其它大神的Epplus导出Excel,结合写出符合自己需求的将导出数据到Excel,给其它人参考一下,也可以学习http://www.cnblogs.com/caofangsheng/p/6149 ...

随机推荐

  1. python中的内置函数zip函数

    关于zip()函数,有几点要讲的. 首先,官方文档中,它是这样描述的: Make an iterator that aggregates elements from each of the itera ...

  2. 在 K8s 集群上部署 RabbitMQ 实战

    作者:老Z,云原生爱好者,目前专注于云原生运维,KubeSphere Ambassador. 前言 知识点 定级:入门级 RabbitMQ 单节点安装部署 RabbitMQ 集群安装部署 GitOps ...

  3. MySQL查询BLOB类型的字段

    1.MySQL有四种BLOB类型: 1.TinyBlob 最大能容纳255B的数据 2.Blob 最大能容纳65KB的 3.MediumBlob 最大能容纳16MB的数据 4.LongBlob 最大能 ...

  4. 国内计算机领域相关的SCI和EI期刊,以及好中的SCI和EI期刊(不限国内外)

    好中的: SCI刊: EI刊: EI会议: 参考: CCF发布计算领域高质量科技期刊分级目录   国内的: SCI-Expanded   1. <Journal of Computer Scie ...

  5. RAC:无训练持续扩展,基于检索的目标检测器 | ECCV'24

    来源:晓飞的算法工程笔记 公众号,转载请注明出处 论文: Online Learning via Memory: Retrieval-Augmented Detector Adaptation 论文地 ...

  6. 拿去面试!一个基于 DDD 的高性能短链系统

    众所周知,商城.RPC.秒杀.论坛.外卖.点评等项目早早就烂大街了,翻开同学的简历一看 10 个里面有 9 个是这些,翻遍全网再很难找到一个既有含金量又能看得懂的项目,针对此,我研发了这样一个可以快速 ...

  7. Wgpu图文详解(03)缓冲区Buffer

    在上一篇文章中,我们介绍了Wgpu中的渲染管线与着色器的概念以及基本用法.相信读者还记得,我们在渲染一个三角形的时候,使用了三角形的三个顶点的索引作为了顶点着色器的输入,并根据索引值计算了三个几何顶点 ...

  8. ARC143E Reversi

    ARC143E Reversi 简单的分析题. 思路 如果分析一个节点状态,那么时不方便的.但可以注意到,状态的改变好相连的边数有关. 从叶子节点开始考虑. 白色:在父亲翻转前选中,并改变父亲状态. ...

  9. The 2024 ICPC Asia East Continent Online Contest (I) G

    Link: The Median of the Median of the Median 考虑二分答案,对中位数进行二分,每次去判断是否比中位数大即可. 我们钦定了一个中位数 \(x\),对于 \(\ ...

  10. NZOJ 模拟赛7

    T1 字符串 小X十分热爱学习.有一天,他刚学完"漂亮的k字符串"的概念:给定长度为n的字符串和整数k,k能整除n,如果该字符串满足以下两个条件: s是一个回文串,即对于任意1≤i ...