详解C#读写Excel的几种方法

标题:详解C#读写Excel的几种方法

正文:

在C#中,常常需要读写Excel的操作,本文将详细解释几种常用的方法。

第一种方法:使用OLEDB读写Excel

  1. 首先需要在引用中添加Microsoft.Office.Interop.Excel库。

  2. 使用OleDbConnection建立连接,读取需要使用SELECT语句,将数据存入DataSet中,写入Excel需要使用INSERT语句。

示例代码:

using System.Data.OleDb; // 引用OleDb库

// 连接Excel表格
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[文件路径]; Extended Properties=Excel 12.0;";

// 读取Excel表格
string selectString = "SELECT * FROM [Sheet1$]"; 
OleDbDataAdapter adapter = new OleDbDataAdapter(selectString, connectionString);
DataSet dataSet = new DataSet();
adapter.Fill(dataSet, "ExcelData");

// 向Excel表格写入数据
string insertString = "INSERT INTO [Sheet1$] (Name, Age) VALUES ('Tom', 20)";
OleDbCommand command = new OleDbCommand(insertString, connection);
command.ExecuteNonQuery();

第二种方法:使用Excel Interop对象读写Excel

  1. 首先需要安装Microsoft Excel软件,并在引用中添加Microsoft.Office.Interop.Excel库。

  2. 使用Excel Interop对象需要先声明Excel对象和Workbook对象,然后打开Excel文件并获取Worksheet对象,最后读取或写入数据。

示例代码:

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

// 创建Excel对象
Application excel = new Application();
Workbook workbook = excel.Workbooks.Open([文件路径]);

// 获取工作表
Worksheet worksheet = (Worksheet)workbook.Sheets["Sheet1"];

// 读取Excel表格中的数据
Range range = worksheet.UsedRange;
for (int row = 1; row <= range.Rows.Count; row++)
{
    for (int col = 1; col <= range.Columns.Count; col++)
    {
        string cellValue = (string)(range.Cells[row, col] as Range).Value;
        Console.Write(cellValue + "\t");
    }
    Console.WriteLine();
}

// 向Excel表格写入数据
worksheet.Cells[1, 1] = "Tom";
worksheet.Cells[1, 2] = 20;
workbook.Save();

以上就是两种常用的C#读写Excel的方法,需要注意Excel文件的路径、工作表名称等参数的设置。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解C#读写Excel的几种方法 - Python技术站

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

相关文章

  • C#泛型类创建与使用的方法

    下面是关于”C#泛型类创建与使用的方法”的详细讲解。 什么是C#泛型类? 泛型类是一种将类型参数作为其一个或多个参数的类,可以将类型参数声明为在类、方法和接口代码中使用的占位符类型。使用泛型类可以为类型参数提供编译时类型安全的类和方法。 C#泛型类的创建 可以使用关键字class和类型参数列表创建一个泛型类,其中类型参数列表由尖括号(<>)中的一…

    C# 2023年6月1日
    00
  • Javascript 使用ajax与C#获取文件大小实例详解

    下面我将详细讲解 “Javascript使用ajax与C#获取文件大小实例详解” 的完整攻略。 什么是Ajax? Ajax(Asynchronous JavaScript And XML),指异步的JavaScript和XML。可以在不重新加载整个网页的情况下与服务器交换数据并更新部分网页内容。 通过Ajax获取文件大小的步骤 创建XMLHttpReques…

    C# 2023年5月15日
    00
  • ASP.NET Core中的Http缓存使用

    ASP.NET Core中的Http缓存使用攻略 在 ASP.NET Core 中,我们可以使用 HTTP 缓存来提高应用程序的性能和响应速度。本攻略将介绍如何在 ASP.NET Core 中使用 HTTP 缓存。 步骤 以下是使用 HTTP 缓存的步骤: 在 Startup.cs 文件中启用缓存。 在 Startup.cs 文件中的 ConfigureSe…

    C# 2023年5月17日
    00
  • C#实现读写CSV文件的方法详解

    C#实现读写CSV文件的方法详解 CSV文件是一种常见的数据存储格式,通常用来存储表格数据。在C#中,我们可以使用以下方法来读写CSV文件。 读取CSV文件 1.通过第三方库CsvHelper读取CSV文件 首先,你需要安装CsvHelper库,可以使用NuGet包管理器或者手动安装。 在程序中添加以下代码: using CsvHelper; using S…

    C# 2023年5月15日
    00
  • C#使用日志组件log4net

    让我来为您详细讲解“C#使用日志组件log4net”的完整攻略。 1. 什么是log4net log4net是一个日志记录组件,它为应用程序提供了提供基于框架级的日志记录功能。它允许开发人员在应用程序中记录消息、异常、错误和其它事件,而无需了解记录这些事件的底层细节。log4net支持多种日志记录输出目标,包括文件、数据库、远程服务器等。 2. 安装log4…

    C# 2023年5月15日
    00
  • C# 无边框窗体边框阴影效果的简单实现

    针对“C# 无边框窗体边框阴影效果的简单实现”,以下是完整攻略: 标题 在文章开头设置一个一级标题,表示文章的主要内容。 # C# 无边框窗体边框阴影效果的简单实现 需求 在介绍实现方法之前,需要确定要实现的需求,指明要实现的功能。 无边框窗体边框阴影效果可以提升软件的美观度和用户体验度,所以是实现目标之一。 实现步骤 自定义窗口样式 首先需要将窗口的边框去…

    C# 2023年6月3日
    00
  • C#使用读写锁三行代码简单解决多线程并发的问题

    让我们开始。 介绍 在C#中,多线程并发可能会引发一些问题,比如数据竞争等。为了解决这些问题,我们可以使用读写锁(ReaderWriterLock)来控制并发访问共享资源。 读写锁是一种锁定机制,允许多个线程同时读取共享资源,但只允许一个线程写入共享资源。这样可以在不阻塞读取操作的情况下,避免写入操作修改共享数据。 下面我们将使用三行代码来演示如何使用读写锁…

    C# 2023年5月15日
    00
  • C# Winform实现导入和导出Excel文件

    让我为你详细解释一下“C# Winform实现导入和导出Excel文件”的完整攻略。 1. 需要用到的Nuget包 在C# Winform应用程序中,需要先安装Excel处理的Nuget包,在Visual Studio的Nuget包管理器中搜索NPOI,找到NPOI这个包,安装即可。 2. 导入Excel文件 下面是一个简单的示例程序,用于从Excel文件中…

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