首页 > 其他分享 >EPPlus使用方法---Excel处理我觉得超级好用

EPPlus使用方法---Excel处理我觉得超级好用

时间:2022-09-07 22:24:20浏览次数:65  
标签:EPPlus Cells Excel Value --- num worksheet data

目前只是用到导出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();
            }
        }
简单的代码示例

 

 

 

 

 

 

 

标签:EPPlus,Cells,Excel,Value,---,num,worksheet,data
From: https://www.cnblogs.com/zhang-3/p/16667501.html

相关文章

  • 报表进阶--参数面板添加
    有时候我们并不需要看所有的数据,比如在销量表中,我们只想看”华北“地区的数据,这个时候我们就需要一个控件能帮助我们过滤掉其他的地区数据。这里我们就要从sql开始设置......
  • 课程学习24-类、字段、方法
    类是组成java程序的基本要素,是一类对象的原型。封装了一类对象的状态和方法,即把变量与函数封装到一个类中。 一、构造方法constuctor特殊的方法、初始化new该类的......
  • 11.4 Bug的常见类型-思路不清导致的部题
     lst=[{'rating':[9.7,2062397],'id':'1292052','type':['犯罪','剧情'],'title':'肖申克的救赎','actors':['蒂姆·罗宾斯','摩根·弗里曼']},{'rating':[9.6,15......
  • python3 - Django3.2框架
    提示:web开发已有php、java,而python在这方面,没有优势,python的优势在于:爬虫、人工智能、大数据分析等,python在web开发这方面,没必要掌握;版本:稳定版本:3.2(py3.6-3.10)、4.2(py3.9-......
  • 【2021ICPC上海站】H-Life is a Game(kruskal重构树)
    题意你本身有一个权值。每个点有一个权值,到达一个点可以获得这个权值;每条边也有一个权值,只有你自己当前权值大于等于边权才可以走这条边。q次询问,每次给出初始点和初始......
  • 文献学习-Better Decision Heuristics in CDCL through Local Search and Target Phas
       OurfirstcontributionistomaximizeinalocalsearchfashiontheassignmenttrailinCDCL,bystickingtoandextendingpromisingassignmentsv......
  • 巧用SQL语句中的OR查询完成业务新需求-2022新项目
    一、业务场景目前参与开发的项目,之前的一个已上线的版本中有一类查询是根据两张表进行LEFTJOIN查询用来取数据,主表中有一个字段field用来区分不同的数据类型比如说A......
  • mysql数据迁移-换主机,换版本升级
    换主机:--数据量小在线MDP(mysqldump),XBK备份出来,scp到目标主机追加所有备份后的日志申请停机5分钟剩余部分的binlog继续恢复(搭建主从的方式来代替)校验数据进行业务......
  • Typescript类型体操 - String to Union
    题目中文实现一个将接收到的String参数转换为一个字母Union的类型。例如typeTest='123';typeResult=StringToUnion<Test>;//expectedtobe"1"|"2"|......
  • 【django学习-09】模板1:万能的句点号
    前言:Django作为web框架,需要一种很便捷的方法动态的生成HTML网页,因此有了模板这个概念;Django内置的模板引擎包含模板上下文、标签和过滤器,各功能说明如下:模板上下文,以变......