详解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#实现操作windows系统服务(service)的方法

    C#实现操作Windows系统服务的方法,可以通过以下几个步骤来完成: 引入System.ServiceProcess命名空间 在代码文件中,使用以下代码引入System.ServiceProcess命名空间: using System.ServiceProcess; 创建服务的控制器类 public partial class Service1 : Ser…

    C# 2023年6月6日
    00
  • C#实现策略模式

    下面是关于” C#实现策略模式” 的详细讲解: 策略模式 策略模式是一种行为设计模式,它使您能够定义一系列算法,将它们封装在各自的类中,然后使它们可以相互替换。策略使算法独立于使用它的客户端,因此可以单独更改。 实现步骤 根据策略模式的思路,我们可以把一个算法分成两个部分,一部分是公共接口,用于申明所有算法的行为,另一部分是具体实现策略。具体实现算法的部分统…

    C# 2023年6月6日
    00
  • 写给想学习Javascript的朋友一点学习经验小结

    针对这个问题,我会分为以下四个部分进行回答: 网站中提供的资源和工具 如何学习Javascript 学习Javascript的思路和技巧 示例说明 网站中提供的资源和工具 首先,我自己的网站中提供了一些有关学习Javascript的资源和工具,这些资源和工具可以帮助你加深对Javascript的理解。其中包括: 文章和教程:网站中有一些文章和教程,可以帮助你…

    C# 2023年6月6日
    00
  • C#使用SqlConnection连接到SQL Server的代码示例

    C#是一种流行的编程语言,广泛用于开发Windows应用程序和Web应用程序。在很多应用中,需要与SQL Server数据库进行交互。使用C#连接SQL Server的主流方式是使用SqlConnection对象。以下是连接到SQL Server的代码示例。 创建SqlConnection对象 要连接到SQL Server,首先需要创建SqlConnecti…

    C# 2023年6月1日
    00
  • C#使用HttpPost请求调用WebService的方法

    下面我会详细讲解在C#中使用HttpPost请求调用WebService的方法,包含以下几个步骤: 创建C#客户端代理类 设置WebService的URL和相应的方法名 准备请求参数 发送HttpPost请求 解析并处理响应数据 具体步骤如下: 1. 创建C#客户端代理类 首先,在Visual Studio中以项目方式打开C#工程,然后右键单击工程名称,选择…

    C# 2023年5月15日
    00
  • c# SqlDataAdapter中的Fill是怎么实现的

    我们先来介绍一下SqlDataAdapter,它是一个在C#中用于填充DataSet和DataTable的重要类。SqlDataAdapter提供了以下核心方法: Fill(DataSet):将数据填充到DataSet中。 Fill(DataTable):将数据填充到DataTable中。 Fill(int, int, DataTable[]):将一组数据填…

    C# 2023年6月6日
    00
  • C#中多线程Tread的使用(推荐)

    C#中多线程Thread的使用 在C#中,可以通过多线程来提升程序的性能。多线程使得程序可以同时执行多个任务,这样增加了程序的吞吐量,提高了程序的响应速度,让用户能够更好的体验使用。本文将详细介绍C#中多线程Thread的使用。 创建Thread对象 在开始使用Thread之前,需要首先创建Thread对象。创建对象有两种方式: 通过ThreadStart委…

    C# 2023年5月15日
    00
  • silverlight调用淘宝api接口做淘宝客应用

    Silverlight调用淘宝API接口做淘宝客应用 淘宝API是淘宝开放平台提供的一组Web API,可以让开发者通过API接口访问淘宝的商品、店铺、订单等信息。本文将介绍如何使用Silverlight调用淘宝API接口,实现一个简单的淘宝客应用。 1.注册淘宝开放平台应用 首先,我们需要在淘宝开放平台注册一个应用,以获取App Key和App Secre…

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