首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

只需要使用EPPlus从Excel返回不同的值

EPPlus是一个用于操作Microsoft Excel文件的.NET库

  1. 首先,确保已经安装了EPPlus库。如果尚未安装,请使用以下命令安装:
代码语言:javascript
复制
Install-Package EPPlus
  1. 导入所需的命名空间:
代码语言:javascript
复制
using OfficeOpenXml;
using System.IO;
using System.Linq;
  1. 读取Excel文件并获取所需的值:
代码语言:javascript
复制
public static void Main(string[] args)
{
    // 文件路径
    var filePath = @"path\to\your\file.xlsx";

    // 读取Excel文件
    FileInfo fileInfo = new FileInfo(filePath);
    using (ExcelPackage package = new ExcelPackage(fileInfo))
    {
        // 获取第一个工作表
        ExcelWorksheet worksheet = package.Workbook.Worksheets[0];

        // 假设我们要获取A列的所有不同的值
        var columnAValues = worksheet.Cells["A:A"]
                                    .Where(cell => cell.Value != null)
                                    .Select(cell => cell.Value.ToString())
                                    .Distinct()
                                    .ToList();

        // 输出不同的值
        foreach (var value in columnAValues)
        {
            Console.WriteLine(value);
        }
    }
}

在这个示例中,我们首先读取Excel文件并获取第一个工作表。然后,我们遍历A列的所有单元格,只考虑非空单元格。接下来,我们将每个单元格的值转换为字符串,并使用LINQ的Distinct()方法获取所有不同的值。最后,我们输出这些不同的值。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Excel公式技巧89:使用FREQUENCY函数统计不同值、唯一值和连续值(下)

统计满足条件的不同值 如下图5所示,想要得到与列A中字母b相对应的列B中的不同值的数量。 ? 图5 很显然,对应于字母b的不同值为2、aa和3,共3个。...B4)+1)>0)) 这个公式与上面所讲公式的不同点在于,添加了一个AND条件,通过在公式中添加(A4:A12=D4)*来实现。...因为我们仅想得到只出现1次的数值的数量。 最大出现的次数 如果想从列表中获取给定值的出现次数,那么可以使用COUNTIF函数。但是如果我们想获得出现最多的值的次数怎么办?...获得最小出现次数不像获得最大出现次数那么简单,因为FREQUENCY函数对于重复值在数组中返回 0,但我们实际上想要忽略它。...图9 使用数组公式: =MIN(IF(FREQUENCY(B4:B12,B4:B12)>0,FREQUENCY(B4:B12,B4:B12))) 公式中,通过>0来解决了FREQUENCY函数针对重复值返回

1.5K10

Excel公式技巧88:使用FREQUENCY函数统计不同值、唯一值和连续值(上)

FREQUENCY函数是一个较难掌握的Excel工作表函数,这篇文章收集整理了一组运用FREQUENCY函数的公式,用来统计不同值、唯一值和连续值的数量,希望能够帮助有兴趣的朋友更进一步熟悉掌握FREQUENCY...返回数组的公式必须以数组公式输入。 统计不同值 仅数值 如下图1所示,在单元格区域B4:B12中有一列数值,我们想要知道有多少个不同值。 ?...文本和/或数值 如果想要在包含文本值的数据中获得不同值的数量,那么就会变得更加复杂,因为FREQUENCY函数会忽略文本值。...因为FREQUENCY()公式中有一个IF函数,所以我们必须使用SUM()数组公式。注意,数组公式使用CTRL+SHIFT+ENTER结束,Excel会自动用{}括号将公式括起来。...: 6 统计唯一值 “唯一值”与“不同值”的区别在于,这些值仅出现1次。

2.2K20
  • Go:命名返回值和直接返回值的使用与潜在隐患

    然而,如果在使用命名返回值的同时又直接返回了值,可能会导致一些混淆。让我们深入探讨这个话题。 1....命名返回值与直接返回值 以下是两个示例,展示了命名返回值和直接返回值的差异: 使用命名返回值: func sum(a, b int) (result int) { result = a + b...混合使用命名返回值和直接返回值的隐患 如果在使用命名返回值的同时又直接返回了值,可能会产生混淆和不一致的结果。...判断和建议 一致性:在使用命名返回值时,应确保函数体内的返回逻辑一致。如果选择了命名返回值,则整个函数应该沿用这一约定。 可读性:混合使用可能会降低代码的可读性,增加维护的复杂性。...测试:如果不确定代码的行为,可以编写测试来验证函数的行为是否符合预期。 总结 命名返回值是Go语言中的一个有用特性,但混合使用命名返回值和直接返回值可能会带来混淆和隐患。

    31230

    Excel实战技巧:从Excel预测的正态分布中返回随机数

    可以将这些公式复制到它们的列中,以创建一个包含数千个可能结果的表格。然后,分析表格以确定一段时间内的平均销售额,以及该估计值的可变性。 扩展模拟 扩展的方法是不同的。...但与大多数在Excel中创建的模型不同,蒙特卡罗分析使用随机数来生成关键假设。 例如,如果你一个月的最佳销售量是120,而最坏的销售量是80,你将使用随机数在这些限制之间进行选择。...接着,将向你展示大部分时间应该使用的方法。 Excel的两个随机数函数 Excel 提供了两个生成随机数的函数: RAND函数返回一个介于0和1之间的随机数。...很容易指定,概率的值从0到1,就像RAND函数生成的那样。...用直方图检查结果 下面的两个图并不花哨,但它们讲述了在你创建Excel模型或预测时需要了解的事。 图4计算了上一个公式如何成功地从正态分布返回数字。

    2.1K10

    golang 中函数使用值返回与指针返回的区别,底层原理分析

    变量内存分配与回收 堆与栈的区别 变量内存分配逃逸分析 检查该变量是在栈上分配还是堆上分配 函数内变量在堆上分配的一些 case 函数使用值与指针返回时性能的差异 其他的一些使用经验 总结 变量内存分配与回收...栈 函数调用栈简称栈,在程序运行过程中,不管是函数的执行还是函数调用,栈都起着非常重要的作用,它主要被用来: 保存函数的局部变量; 向被调用函数传递参数; 返回函数的返回值; 保存函数的返回地址,返回地址是指从被调用函数返回后调用者应该继续执行的指令地址...那在函数中返回时是使用值还是指针,哪种效率更高呢,虽然值有拷贝操作,但是返回指针会将变量分配在堆上,堆上变量的分配以及回收也会有较大的开销。...其他的一些使用经验 1、有状态的对象必须使用指针返回,如系统内置的 sync.WaitGroup、sync.Pool 之类的值,在 Go 中有些结构体中会显式存在 noCopy 字段提醒不能进行值拷贝;...,如果对象的生命周期存在比较久或者对象比较大,可以使用指针返回; 3、大对象推荐使用指针返回,对象大小临界值需要在具体平台进行基准测试得出数据; 4、参考一些大的开源项目中的使用方式,比如 kubernetes

    5.4K40

    Excel公式技巧20: 从列表中返回满足多个条件的数据

    在实际工作中,我们经常需要从某列返回数据,该数据对应于另一列满足一个或多个条件的数据中的最大值。 如下图1所示,需要返回指定序号(列A)的最新版本(列B)对应的日期(列C)。 ?...千万不能忽略了这一要点,即如果采用以下简单方法: =INDEX(C2:C10,MATCH(MAX(IF(A2:A10=F1,B2:B10)),B2:B10,0)) 尽管此公式构造仍可以返回正确的值,但完全不能保证所有情况下都正确...原因是与条件对应的最大值不是在B2:B10中,而是针对不同的序号。而且,如果该情况发生在希望返回的值之前行中,则MATCH函数显然不会返回我们想要的值。...为了找到最大值在此数组中的位置(而不是像方案1一样使用MATCH(MAX,…等)组合,那需要重复生成上述数组的子句),进行如下操作: 我们首先给上面数组中的每个值添加一个小值。...由于数组中的最小值为0.2,在数组中的第7个位置,因此上述公式构造的结果为: {0;0;0;0;0;0;1;0;0;0} 获得此数组后,我们只需要从列C中与该数组出现的非零条目(即1)相对应的位置返回数据即可

    9.3K10

    EPPlus轻松创建多数据点图表,让数据可视化更简单

    EPPlus确实是一个功能强大且易于使用的导出工具,我在我的专栏中多次强调过这一点。它能够将图片流嵌入到Excel中,还能轻松导出图表。...你只需要在同一个图表中定义不同的形状,使用核心代码进行操作即可。...Excel中。...EPPlus允许你以各种图表类型创建复杂的可视化效果,使数据更加生动、直观。此工具不仅功能强大,而且易于使用,使数据分析更加高效。希望这个示例能帮助你更好地理解如何使用EPPlus来创建图表。...在使用过程中,如果你有任何疑问或遇到困难,请随时向我提问,我会尽力提供帮助和指导。同时,如果你对EPPlus的其他功能或使用技巧有任何兴趣,我也愿意与你分享更多的信息。

    36810

    .NET导出Excel的四种方法及评测

    本文,我将使用NPOI、EPPlus、OpenXML、Aspose.Cells四个市面上常见的库,各完成一个导出Excel示例。然后对其代码风格和性能做一个横向比较。最后我将说出我自己的感想。...通过调用Measure函数,可以测得传入的action的耗时和内存占用。默认会调用5次,可以从5次测试结果中取出能反映性能的值。...(); } 注意,不同于NPOI/Aspose.Cells,EPPlus的下标是基于1的(而不是0)。...Aspose.Cells创建Excel时要求客户直接使用Workbook类(NPOI也是); Aspose.Cells完全隐藏了Excel的位置(如B3)信息,下标从0开始(NPOI也是) 比较这几点,...更别提这次评测发现EPPlus的性能确实不错,唯一的缺点就是它单元格下标从1开始的设计。即便如此,我还是首选推荐EPPlus。

    4.9K10

    VB.NET 第三方 EPPLUS 操作类库应用笔记

    ://epplussoftware.com/docs/5.0/api/index.html ---- 一,EPPLUS 介绍(版本 5.8.0.0)   EPPlus 是使用 Open Office XML...类   ExcelPackage 是 EPPlus 的入口类,解析一个 Excel 文件,生成 ExcelWorkbook 对象来表示一个 Excel。...该类实现了 IDisposable 接口,也就是说可以使用 using 进行对象释放。   不管构造函数中传入的参数是否有效,该类的 Workbook 属性都会自动创建,无须担心空指针问题。   ...注意:在获取具体的 Sheet 时,索引号从 1 开始. 1.2 ExcelWorkbook 类   ExcelWorkbook 类表示了一个 Excel 文件,其 Worksheets 属性对应着 Excel...,意思是A1单元格的值乘B1的值赋值给C1,然后B1的值乘C1的值后赋值给D1 xlsht.Cells("A3").Formula = $"SUM({New ExcelAddress(1, 1, 2,

    5.9K20

    Magicodes.IE 2.5.5.3发布

    导出】导出业务错误数据支持直接返回错误数据的文件流字节 【Excel导出】对追加sheet实现同一个Model可自定义传入不同sheet名称 exporter.Append(list1,"sheet1"...#104 2020.06.07 【Nuget】版本更新到2.2.4 【Excel导入】增加导入失败仅返回错误行功能 【Excel导入】修复导入的空行标注位置偏移 【Excel导出】增加SeparateByColumn...命名空间下的部分特性来控制导入导出 #63 2020.04.16 【Nuget】版本更新到2.2.0-beta9 【Excel模板导出】修复只存在一列时的导出 #73 【Excel导入】支持返回表头和索引...【导入】支持列乱序(导入模板的列序号不再需要固定) 【导入】支持列索引设置 【导入】支持将导入的Excel进行错误标注,支持多个错误 【导入】加强对基础类型和可为空类型的支持 【EPPlus】由于EPPlus.Core...已经不维护,将EPPlus的包从EPPlus.Core改为EPPlus, 2019.9.11 【导入】导入支持自动去除前后空格,默认启用,可以针对列进行关闭,具体见AutoTrim设置 【导入】导入Dto

    1.6K10

    Magicodes.IE 2.6.2 发布

    类型导出的映射问题 2.5.6.0 2021.10.05 合并Magicodes.EPPlus到Magicodes.IE,修复所有单元测试并修复部分Bug 对EPPlus进行了部分性能优化(比如使用高性能内存流代替...导出】导出业务错误数据支持直接返回错误数据的文件流字节 【Excel导出】对追加sheet实现同一个Model可自定义传入不同sheet名称 exporter.Append(list1,"sheet1"...命名空间下的部分特性来控制导入导出 #63 2020.04.16 【Nuget】版本更新到2.2.0-beta9 【Excel模板导出】修复只存在一列时的导出 #73 【Excel导入】支持返回表头和索引...【导入】支持列乱序(导入模板的列序号不再需要固定) 【导入】支持列索引设置 【导入】支持将导入的Excel进行错误标注,支持多个错误 【导入】加强对基础类型和可为空类型的支持 【EPPlus】由于EPPlus.Core...已经不维护,将EPPlus的包从EPPlus.Core改为EPPlus, 2019.9.11 【导入】导入支持自动去除前后空格,默认启用,可以针对列进行关闭,具体见AutoTrim设置 【导入】导入Dto

    1.7K40

    Magicodes.IE 2.6.0重磅发布

    类型导出的映射问题 2.5.6.0 2021.10.05 合并Magicodes.EPPlus到Magicodes.IE,修复所有单元测试并修复部分Bug 对EPPlus进行了部分性能优化(比如使用高性能内存流代替...导出】导出业务错误数据支持直接返回错误数据的文件流字节 【Excel导出】对追加sheet实现同一个Model可自定义传入不同sheet名称 exporter.Append(list1,"sheet1"...命名空间下的部分特性来控制导入导出 #63 2020.04.16 【Nuget】版本更新到2.2.0-beta9 【Excel模板导出】修复只存在一列时的导出 #73 【Excel导入】支持返回表头和索引...【导入】支持列乱序(导入模板的列序号不再需要固定) 【导入】支持列索引设置 【导入】支持将导入的Excel进行错误标注,支持多个错误 【导入】加强对基础类型和可为空类型的支持 【EPPlus】由于EPPlus.Core...已经不维护,将EPPlus的包从EPPlus.Core改为EPPlus, 2019.9.11 【导入】导入支持自动去除前后空格,默认启用,可以针对列进行关闭,具体见AutoTrim设置 【导入】导入Dto

    1.6K20
    领券