C# 如何读取Excel文件

news/2024/7/21 6:59:06 标签: c#, excel, 读写excel, .net

当处理Excel文件时,从中读取数据是一个常见的需求。通过读取Excel数据,可以获取电子表格中包含的信息,并在其他应用程序或编程环境中使用这些数据进行进一步的处理和分析。本文将分享一个使用免费库来实现C#中读取Excel数据的方法。具体如下:

准备工作:

VS中通过Nuget安装免费Excel读写库 – Free Spire.XLS for .NET. 或者下载产品包后手动导入dll

实现思路:

  1. 导入Spire.Xls命名空间
  2. 加载Excel文件
  3. 获取指定工作表,然后再获取其中包含数据的区域
  4. 遍历数据区域中的行和列
  5. 通过 Worksheet.Range.Value 属性,以字符串形式返回单元格内的数字或文本。

读取Excel代码:

using Spire.Xls;

namespace ReadExcelData
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建Workbook类的对象
            Workbook wb = new Workbook();

            //加载Excel文件
            wb.LoadFromFile("示例.xlsx");

            //获取第一张工作表
            Worksheet sheet = wb.Worksheets[0];

            //获取包含数据的单元格区域
            CellRange locatedRange = sheet.AllocatedRange;

            //遍历其中的每一行
            for (int i = 0; i < locatedRange.Rows.Length; i++)
            {
                //遍历其中的每一列
                for (int j = 0; j < locatedRange.Rows[i].ColumnCount; j++)
                {
                    //获取单元格数据
                    Console.Write(locatedRange[i + 1, j + 1].Value + "  ");

                }
                Console.WriteLine();
            }
        }
    }
}

 输出结果:

Free Spire.XLS for .NET这个免费库也支持生成、转换、编辑、打印Excel文件等各种功能,具体可前往其中文教程了解。


http://www.niftyadmin.cn/n/5292351.html

相关文章

购买两块巧克力(LeetCode日记)

LeetCode-2706-购买两块巧克力 题目信息: 给你一个整数数组 prices &#xff0c;它表示一个商店里若干巧克力的价格。同时给你一个整数 money &#xff0c;表示你一开始拥有的钱数。 你必须购买 恰好 两块巧克力&#xff0c;而且剩余的钱数必须是 非负数 。同时你想最小化购…

编程笔记 GOLANG基础 002 Go语言简介

编程笔记 GOLANG基础 002 Go语言简介 Go 是一个开源的编程语言&#xff0c;它能让构造简单、可靠且高效的软件变得容易。 Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发&#xff0c;后来还加入了Ian Lance Taylor, Russ Cox等人&#xff0c;并最终于2009年…

mysql原理--MySQL基于规则的优化

设计 MySQL 的大叔依据一些规则&#xff0c;竭尽全力的把一些很糟糕的语句转换成某种可以比较高效执行的形式&#xff0c;这个过程也可以被称作 查询重写 &#xff08;就是人家觉得你写的语句不好&#xff0c;自己再重写一遍&#xff09;。 1.条件化简 我们编写的查询语句的搜…

Flink实时电商数仓之DWS层

需求分析 关键词 统计关键词出现的频率 IK分词 进行分词需要引入IK分词器&#xff0c;使用它时需要引入相关的依赖。它能够将搜索的关键字按照日常的使用习惯进行拆分。比如将苹果iphone 手机&#xff0c;拆分为苹果&#xff0c;iphone, 手机。 <dependency><grou…

Kafka实战:消息队列系统的构建与优化

引言&#xff1a; Apache Kafka是一种高各性能的分布式流处理平台。它能处理亿级别的事件&#xff0c;提供严格的顺序一致性保证。今天&#xff0c;我们将深入探讨如何在实战中使用Kafka&#xff0c;构建并优化我们的消息队列系统。 一、Kafka环境搭建 首先&#xff0c;我们需…

Fastdeploy学习之路:Examples编译

1. 前置条件&#xff1a; 编译完Fastdeploy SDK & make install > /opt/fd_sdk 2. 进入Examples相关目录&#xff0c;然后执行&#xff1a; mkdir build & cd buildcmake .. -DFASTDEPLOY_INSTALL_DIR/opt/fd_sdk/即可生成&#xff1a; Infer_demo文件 3. 执行…

MySQL 8.0 InnoDB Tablespaces之General Tablespaces(通用表空间/一般表空间)

文章目录 MySQL 8.0 InnoDB Tablespaces之General Tablespaces&#xff08;通用表空间/一般表空间&#xff09;General tablespaces&#xff08;通用表空间/一般表空间&#xff09;通用表空间的功能通用表空间的限制 创建通用表空间&#xff08;一般表空间&#xff09;创建语法…

选择排序------------(C每日一编程)

选择排序&#xff1a; 选择&#xff1a;每一趟从无序区选一个值最小(大)的元素,与无序区第一个元素交换 将n个数中最小数与第一个数交换,将n-1个数中最小数与第二个数交换&#xff0c;....... 结论&#xff1a; n个数要进行n-1轮比较 第i轮要进行n-i次两两比较 for(i0;i&…