C# 操作Excel代码总结

下面就为您详细讲解“C# 操作Excel代码总结”的完整攻略。

一、前言

在日常开发中,Excel 是我们经常应用的工具。在 C# 中,操作 Excel 也是一个常见的需求。本文就通过两个示例,来总结一下 C# 中操作 Excel 的代码实现过程。

二、基本环境

在操作 Excel 的过程中,我们需要引入以下命名空间:

using Microsoft.Office.Interop.Excel;
using System.IO;

同时,需要安装 Microsoft.Office.Interop.Excel 库。

三、示例一:创建 Excel 并写入数据

1. 准备工作

首先,我们需要新建一个 Excel 应用程序,并打开一个 workbook。

Application excel = new ApplicationClass();
Workbook workbook = excel.Application.Workbooks.Add(true);

2. 创建 sheet

我们可以通过 workbook 的 Worksheets 属性来创建 sheet。

Worksheet sheet = (Worksheet)workbook.Worksheets[1];
sheet.Name = "Sheet1";

上述代码中,我们新创建了一个名为“Sheet1”的 sheet。

3. 写入数据

当我们创建好 sheet 后,就可以向其中写入数据了。下面是一个示例代码:

// 横向写入数据
for (int i = 1; i <= 5; i++)
{
    sheet.Cells[1, i] = "Column" + i;
}

// 纵向写入数据
for (int i = 2; i <= 6; i++)
{
    sheet.Cells[i, 1] = "Row" + (i - 1);
}

上述代码中,我们通过 Cells 属性来获取 Excel 中的单元格,并将数据写入。其中,1 表示行或列的序号,i 则表示列或行的序号。

4. 保存

当我们写入数据完成后,需要将 Excel 保存下来,示例代码如下:

string path = Path.Combine(Environment.CurrentDirectory, "example1.xls");
workbook.SaveAs(path);

// 关闭 Excel 应用程序
excel.Quit();

上述代码中,我们将 Excel 保存在当前应用程序目录下的 example1.xls 文件中,并使用 Quit() 方法关闭 Excel 应用程序。

四、示例二:读取 Excel 并导出数据

1. 准备工作

读取 Excel 前,我们需要确定 Excel 的路径,并需要打开一个 workbook。

string path = Path.Combine(Environment.CurrentDirectory, "example1.xls");

Application excel = new ApplicationClass();
Workbook workbook = excel.Application.Workbooks.Open(path);
Worksheet sheet = (Worksheet)workbook.Worksheets[1];

上述代码中,我们打开了上个例子中创建并保存的 example1.xls 文件,并将第一个 sheet 获取到。

2. 获取数据

获取 Excel 中的数据,我们只需要遍历 sheet 中的单元格,并在每个单元格中获取数据即可。下面是一个示例代码:

for (int i = 1; i <= sheet.UsedRange.Rows.Count; i++)
{
    for (int j = 1; j <= sheet.UsedRange.Columns.Count; j++)
    {
        Console.Write(sheet.Cells[i, j].Text + "\t");
    }
    Console.WriteLine();
}

上述代码中,我们使用 sheet 的 UsedRange 属性来确定 sheet 中的行数和列数,并在每个单元格中获取数据。

3. 导出数据

获取数据完成后,我们可以将数据导出到一个文件中。示例代码如下:

// 导出路径
string outputPath = Path.Combine(Environment.CurrentDirectory, "example2.txt");

// 写入文件
using (StreamWriter writer = new StreamWriter(outputPath))
{
    for (int i = 1; i <= sheet.UsedRange.Rows.Count; i++)
    {
        for (int j = 1; j <= sheet.UsedRange.Columns.Count; j++)
        {
            writer.Write(sheet.Cells[i, j].Text + "\t");
        }
        writer.WriteLine();
    }
}

// 关闭 Excel 应用程序
workbook.Close();
excel.Quit();

上述代码中,我们将数据输出到 example2.txt 文件中,并使用 Close() 方法关闭 workbook,在使用 Quit() 方法关闭 Excel 应用程序。

五、总结

本文通过两个示例,介绍了 C# 中操作 Excel 的代码实现过程。大家在实际开发中可以根据需求来拓展代码的功能,如:读取指定的 sheet、单元格合并、图表的绘制等。

希望对大家有所帮助,谢谢使用!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 操作Excel代码总结 - Python技术站

(0)
上一篇 2023年6月7日
下一篇 2023年6月7日

相关文章

  • C# Linq的Skip()方法 – 跳过序列中指定数量的元素并返回剩余元素

    当使用LINQ(C# language integrated query)对集合进行查询时,我们经常需要对查询结果进行排序、筛选、分组和投影等操作。而 Skip() 方法是其中一个很有用的操作之一。 一、Skip()方法的概述 Skip() 方法是用来跳过指定数量的元素并返回剩余元素的 LINQ 方法。Skip() 方法跳过序列中的从头开始的指定数量的元素,…

    C# 2023年4月19日
    00
  • C#中IEnumerable、ICollection、IList、List之间的区别

    C#中的IEnumerable、ICollection、IList、List是常见的集合接口,它们都用于在程序中管理集合数据类型,但在某些情况下,它们之间的区别比较模糊。下面我们来详细讲解它们之间的区别。 IEnumerable IEnumerable 是一个最基本的集合接口,所有的集合类型都可以实现IEnumerable接口。它只提供了一个GetEnume…

    C# 2023年5月15日
    00
  • C#中的Action、Func和Predicate如何使用

    C#中的Action、Func和Predicate是三个常用的委托类型,它们分别表示参数列表不同的无返回值、有返回值、返回布尔值的委托。 Action Action是一个表示参数类型为void的无返回值委托类型。可以定义最多16个输入参数的Action,用法如下: // 定义一个无参数的Action Action action1 = () => Con…

    C# 2023年6月6日
    00
  • C#信号量用法简单示例

    当我们需要对一个或多个资源进行控制时,可以使用信号量。信号量是一种同步原语,它可以被用来跟踪资源的可用性。在这篇文章中,我们将会讲解C#中的信号量用法,包括信号量的基本操作和信号量用法的示例。 基本用法 在C#中,信号量可以通过System.Threading命名空间的Semaphore类来实现。Semaphore类封装了Windows内核对象,可以根据需要…

    C# 2023年5月15日
    00
  • 解析C#设计模式之单例模式

    我来给您讲解一下“解析C#设计模式之单例模式”的完整攻略。 一、什么是单例模式? 单例模式是一种常用的设计模式,它保证了一个类只能有一个实例,并提供一个全局访问点。 二、为什么要使用单例模式? 在很多场景中,我们需要保证某个类只拥有一个实例。比如唯一的数据库连接池、全局的日志对象等等。如果没有单例模式,我们每次都需要手动控制实例数量,这会带来很多问题。 三、…

    C# 2023年5月31日
    00
  • C#中多维数组[,]和交错数组[][]的区别

    C#中多维数组[,]和交错数组[][]的区别 C#中提供了两种不同类型的多维数组:多维数组和交错数组。它们的使用方法略有不同,下面分别进行具体讲解。 多维数组[,] 多维数组是一种具有两个或更多维的数组,使用[,]定义。例如: int[,] array = new int[3, 4]; 上述代码定义了一个3行4列的二维整数数组。 使用多维数组时,可以通过以下…

    C# 2023年5月15日
    00
  • c# rsa加密解密详解

    C# RSA加密解密详解 什么是RSA RSA是一种非对称加密算法,通过一个密钥对(公钥和私钥)来实现加密解密。公钥可以公开,用于加密数据;私钥用于解密加密后的数据。 RSA加密解密步骤 随机生成一对RSA密钥(公钥和私钥) 使用公钥对明文进行加密得到密文 使用私钥对密文进行解密得到明文 C#实现RSA加密解密 生成密钥对 在C#中可以使用RSACrypto…

    C# 2023年5月15日
    00
  • C#使用百度Ueditor富文本框实现上传文件

    下面是“C#使用百度Ueditor富文本框实现上传文件”的完整攻略。 准备工作 安装百度Ueditor在NuGet中检索百度ueditor.net.Mvc或者使用百度Ueditor官网提供的下载方式,将ueditor的dll放入Solution下面的bin目录下。 配置Ueditor (1)在网站的Web.config文件中,加入如下内容。 <syst…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部