EPPlus使用方法---Excel处理我觉得超级好用
目前只是用到导出Excel功能,导出大规模数据量速度也很快,而且比较容易操作(最起码导出是,暂时没有用到处理已存在的excel功能,有人说NPOI也好用,试了一下,最起码导出这个不如EPPlus --狗头保命)
- 引入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处理我觉得超级好用的更多相关文章
- EpPlus读取生成Excel帮助类+读取csv帮助类+Aspose.Cells生成Excel帮助类
大部分功能逻辑都在,少量自定义异常类和扩展方法 ,可用类似代码自己替换 //EpPlus读取生成Excel帮助类+读取csv帮助类,epplus只支持开放的Excel文件格式:xlsx,不支持 xls ...
- 使用 EPPlus 封装的 excel 表格导入功能 (.net core c#)
使用 EPPlus 封装的 excel 表格导入功能 前言 最近做系统的时候有很多 excel导入 的功能,以前我前后端都做的时候是在前端解析,然后再做个批量插入的接口 我觉着这样挺好的,后端部分可以 ...
- 使用 EPPlus 封装的 excel 表格导入功能 (二) delegate 委托 --永远滴神
使用 EPPlus 封装的 excel 表格导入功能 (二) delegate 委托 --永远滴神 前言 接上一篇 使用 EPPlus 封装的 excel 表格导入功能 (一) 前一篇的是大概能用但是 ...
- 使用NPOI或EPPlus来导出Excel文件实例,可在Excel文件加密
使用NPOI.dll组件来导出Excel文件,并设置样式,Nuget引用即可. packages\NPOI.2.1.3.1\lib\net20\NPOI.dll #region Excel prote ...
- 在ASP.NET Core中使用EPPlus导入出Excel文件
这篇文章说明了如何使用EPPlus在ASP.NET Core中导入和导出.xls/.xlsx文件(Excel).在考虑使用.NET处理excel时,我们总是寻找第三方库或组件.使用Open Offic ...
- EPPlus实战篇——Excel写入
.net core 项目 可以向excel写入任何类型(T)的数据,只要T中的field的[Display(Name = "1233", Description = "# ...
- EPPlus实战篇——Excel读取
.net core 项目 可以从excel读取任何类型(T)的数据,只要T中的field的[Display(Name = "1233")]中的name==excel column ...
- .NET Core使用EPPlus简单操作Excel(简单实现导入导出)
1.前言 EPPlus是一个使用Open Office XML(xlsx)文件格式,能读写Excel 2007/2010 文件的开源组件,在导出Excel的时候不需要电脑上安装office,它的一个缺 ...
- ASP.NET Core使用EPPlus导入导出Excel
开发过程中,经常会遇到导入导出数据的需求,本篇博客介绍在.NET Core中如何使用EPPlus组件导入导出Excel EPPlus: EPPlus是使用Open Office XML格式(xlsx) ...
- Epplus:导出Excel
看到其它大神的Epplus导出Excel,结合写出符合自己需求的将导出数据到Excel,给其它人参考一下,也可以学习http://www.cnblogs.com/caofangsheng/p/6149 ...
随机推荐
- 《你不知道的JavaScript》读书笔记(一):JS是如何查找变量的
这本书之前囫囵地看了一遍,确实点明了很多以前不清不楚的点,但是仅仅看一遍是没什么用的,最近面试遇到不少原理相关的题感觉答得不理想,回头看下其实以前都理解过,但是没有记下来,正好结合实际的问题来再学习一 ...
- Exchange2016中搜索和删除邮件
Exchange2016中搜索和删除邮件 在以前版本的 Exchange 中,可以运行 Search-Mailbox -DeleteContent 命令搜索并删除电子邮件.你仍可以在 Exchang ...
- HTML 中 script 标签的属性和加载顺序
script 标签默认是阻塞加载的,也就是先下载src内容,然后执行src内容,然后再往后读文档 head 中的 script 按顺序加载执行,然后再加载 body 的元素. 把 script 移动到 ...
- Johnson全源最短路:负权化正权,最后减去势能差
Johnson全源最短路:负权化正权,最后减去势能差 (1)建虚点0,add(0,i,0),跑st=0的单源最短路hi (2)e[i].w+=h[u]-h[v] Q:为何这样不会得到错误答案? ...
- 3.18 Linux懒人神器:命令自动补全功能!
文件名(或者目录名)是执行 linux 命令中最常见的参数,例如前面介绍的 cd.mkdir.cp 等命令,都涉及到了文件名.然而对初学者来说,输入完整的文件名感觉很麻烦,尤其面临文件名(目录名)特别 ...
- The 2024 ICPC Asia East Continent Online Contest (II) K.Match
题面 K.Match 给定长度为 \(n\) 的两个序列 \(a\) 和 \(b\),当且仅当 \(a_i ⊕ b_j ≥ k\) 时,\(a_i\) 与 \(b_j\) 连一条双向边,其中 \(⊕\ ...
- VL4AD:让语义分割认识未知类别,无需额外数据和训练的OOD语义分割 | ECCV'24
来源:晓飞的算法工程笔记 公众号,转载请注明出处 论文: VL4AD: Vision-Language Models Improve Pixel-wise Anomaly Detection 论文地址 ...
- etcdv3与etcdv2特性比较
1 客户端通信方式 etcdv3的客户端使用gRPC与server进行通信,通信的消息协议使用protobuf进行约定,代替了v2版本的HTTP-json格式,使用二进制替代文本,更加节省空间. 同时 ...
- JDBC批处理Select语句
本文由 ImportNew - 刘志军 翻译自 Javaranch.如需转载本文,请先参见文章末尾处的转载要求. 注:为了更好理解本文,请结合原文阅读 在上一篇文章中提到了PreparedStatem ...
- golang之泛型
Go 1.18版本增加了对泛型的支持,泛型也是自 Go 语言开源以来所做的最大改变. 泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型.ーー换句话 ...