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 ...
随机推荐
- 【ZROJ2730】简单题 可持久化分块题解
Description 给定一棵 \(n\) 个节点的树,每次询问编号为 \([l, r]\) 的点中有多少个是祖先关系. \(n, q \le 10^5\). Solution 直接做的话树上的祖先 ...
- 云原生周刊:一条 Kubernetes 命令引发的悲剧
开源项目 KSail 用于在 Docker 中配置支持 GitOps 的 K8s 集群的 CLI 工具. nginx-gateway-fabric NGINX Gateway Fabric 是一个开源 ...
- Newstar_week1-2_wp
week1 wp crypto 一眼秒了 n费马分解再rsa flag: import libnum import gmpy2 from Crypto.Util.number import * p = ...
- 抽象队列同步器AQS
AQS是AbstractQueuedSynchronizer的简称,即抽象队列同步器,从字面上可以这样理解: 抽象:抽象类,只实现一些主要逻辑,有些方法由子类实现: 队列:使用先进先出(FIFO)的队 ...
- linux环境nginx配置记录
nginx环境安装 1.联网下载 pcre压缩包 解压压缩文件使用命令 tar –xvf pcre-8.37.tar.gz ./configure 完成后,回到 pcre 目录下执行 make,最后执 ...
- 国产东方通消息队列TongLINKQ8.1服务端安装步骤
一.服务端安装 groupadd tlq # 新建组 useradd -m -g tlq tlq # 新建tlq用户并指定组tlq cd /home/tlq/ # 切换到安装目录并上传安装包 tar ...
- 指针进阶(C语言终)
1. sizeof和strlen的对比 1.1 sizeof 在学习操作符的时候,我们学习了sizeof , sizeof 计算变量所占内存内存空间大小的,单位是 字节,如果操作数是类型的话,计算的是 ...
- Maxima 使用教程
说起数学软件,我们很多人脑子里浮现出的第一个就是 matlab,不可否认,matlab 确实是一个优秀的数学软件,但是它需要付费啊(这里不讨论盗版问题).那么有没有一个同样强大但免费的数学软件呢?答案 ...
- [解决方案] 几种通过 iproute2 来打通不同节点间容器网络的方式
几种通过 iproute2 来打通不同节点间容器网络的方式 几种通过 iproute2 来打通不同节点间容器网络的方式 host-gw ipip vxlan 背景 之前由于需要打通不同节点间的容器网络 ...
- 《JVM第7课》堆区
1.概念 堆是JVM中最重要的一块区域,JVM规范中规定所有的对象和数组都应该存放在堆中,在执行字节码指令时,会把创建的对象存入堆中,对象的引用地址存入虚拟机栈的栈帧中.不过当方法执行完之后,刚刚所创 ...