之所以使用操作Excel是因为微软自带的运行效率太低,数据多后会特别慢,不能满足现场要求 。如果想速度快,而且只是读取Excel的配置还有另一个办法就是将Excel保存成xml文件,参考我的另一个文章:C# 读取XML格式的Excel文件
以前项目中会在Excel中配置参数后 , 加载动态显示到界面中,动态显示参考我的文章:C# 使用动态显示_花开莫与流年错_的博客-CSDN博客
百度搜常见的有和NPOI,NPOI支持多一点性能差一点
1、下载依赖 。在引用》管理NuGet中输入》
安装如下第一个搜索结果
2、示例代码
using OfficeOpenXml;using System;using System.Diagnostics;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Study_CSharp{class MyExcelByEPPlus {public void Test(){Stopwatch watch = new Stopwatch();watch.Start();string path = Directory.GetCurrentDirectory() + @"\" + @"file.xlsx";FileInfo file = new FileInfo(path);ExcelPackage.LicenseContext = LicenseContext.NonCommercial;using (var package = new ExcelPackage(file)){string sheetName = "hello";var sheet = package.Workbook.Worksheets.Where(x => x.Name == sheetName).FirstOrDefault();if (sheet == null){sheet = package.Workbook.Worksheets.Add(sheetName);}sheet.Cells[1, 2].Value = "http://www.kingceram.com/post/lalala";// 第一行、第二列//sheet.SetValue(1, 2, "EPPlus value");sheet.InsertRow(3, 4);package.Save();}watch.Stop();Console.WriteLine($"Time is {watch.ElapsedMilliseconds} ms");Console.ReadLine();}}}
运行报错处理
文章插图
1、错误:.:“ set the .
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;// 添加这行代码后不会报ExcelPackage错误using (var p = new ExcelPackage()){}
2、错误:.ption:“序列不包含任何元素”
// 会报错的函数是这样的var sheet = package.Workbook.Worksheets.Where(x => x.Name == "hello").First();// 原因是因为使用First的时候至少必须有一条数据 , 使用Single查询的时候查询结果必须有且只有一条数据,如果没有查到任何数据就会报上面异常 。// 解决办法:使用FirstOrDefault和SingleOrDefault,如果没有数据的话 , 返回对应类型的默认值.var sheet = package.Workbook.Worksheets.Where(x => x.Name == "hello").FirstOrDefault();
3、sheet.(1, 1, " value");报错:.on:“未将对象引用设置到对象的实例 。”
【读写C#使用EPPlus操作Excel】是因为上面的返回的sheet还是空,需要在上面加判断如果为空则添加sheet
- 铃声多多铃声设置不成功 铃声多多铃声设置不成功的原因
- 上饶市稼轩小学建设项目 上饶稼轩小学9月1日正式投入使用
- 虫螨腈对什么作物敏感,虫螨腈使用注意事项
- 如何使用洗碗机洗碗 如何使用洗碗机洗碗块
- 济宁住宅专项维修资金什么时候可以使用?
- 莆田使用闽政通APP查询核酸检测报告的方法
- 使用手机上的剪贴板的技巧 手机剪贴板怎么取消这个功能
- 天正长度统计不能使用咋回事
- 一 使用STM32驱动3WE6B61B/CG24N9Z5L电磁阀
- vivo查手机使用记录怎么查 查手机使用记录怎么查