C#操作Excel数据增删改查示例

操作Excel数据增删改查示例

C#语言中,我们可以使用OleDb和Excel Interop两种方式来操作Excel数据。

使用OleDb操作Excel数据

使用OleDb可以方便地对Excel中的数据进行操作。操作过程中,需要注意Excel版本和文件格式,以及数据类型的转换问题。

连接Excel

我们需要使用OleDbConnection类来建立与Excel文件的连接。连接字符串的格式如下:

string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=<Excel文件路径>;Extended Properties=\"Excel 12.0 Xml;HDR=YES\"";

其中,Data Source表示Excel文件路径,Extended Properties中的“HDR=YES”表示将Excel中的第一行作为字段名称。如果Excel是97-2003版本,需要将Extended Properties中的版本修改为“Excel 8.0”。

查询Excel数据

使用OleDbConnection和OleDbCommand类可以方便地查询Excel数据。以下是一个查询示例:

var conn = new OleDbConnection(connString);
conn.Open();
string sql = "SELECT * FROM [Sheet1$]";
OleDbCommand cmd = new OleDbCommand(sql, conn);
OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
conn.Close();

以上代码可以查询Excel中名为“Sheet1”的表的所有数据,并将查询结果以DataTable的形式返回。可以根据需要调整查询条件,并且使用DataTable的方法对数据进行操作,例如:增删改查等。

增加Excel数据

使用OleDbCommand类的INSERT语句可以方便地向Excel中添加数据。以下是一个添加示例:

var conn = new OleDbConnection(connString);
conn.Open();
string sql = "INSERT INTO [Sheet1$] (name, age, gender) VALUES ('Tom', 22, 'Male')";
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.ExecuteNonQuery();
conn.Close();

以上代码可以向Excel的“Sheet1”表中添加一条数据,数据内容为“Tom”、“22”、“Male”。

使用Excel Interop操作Excel数据

Excel Interop可以提供更为细致的Excel操作,对数据格式转换更加支持,并且可以操作Excel的各种功能。

连接Excel

使用Excel Interop需要先添加对Microsoft.Office.Interop.Excel的引用,然后通过以下代码建立连接:

var app = new Excel.Application();
var workbook = app.Workbooks.Open(@"<Excel文件路径>");
var sheet = workbook.Sheets["Sheet1"] as Excel.Worksheet;

以上代码可以打开Excel文件,并且获取Sheet1工作表的引用。

查询Excel数据

使用Excel Interop需要对数据类型进行转换,以下是一个查询示例:

int rowCount = sheet.UsedRange.Rows.Count;
int colCount = sheet.UsedRange.Columns.Count;
DataTable dt = new DataTable();
for (int i = 2; i <= rowCount; i++)
{
    DataRow dr = dt.NewRow();
    for (int j = 1; j <= colCount; j++)
    {
        var value = sheet.Cells[i, j].Value2;
        dr[j - 1] = value == null ? "" : value.ToString();
    }
    dt.Rows.Add(dr);
}

以上代码可以查询Excel中的所有数据,并且将结果以DataTable的形式返回。

增加Excel数据

使用Excel Interop可以方便地向指定单元格写入数据,以下是一个添加示例:

sheet.Cells[2, 1].Value2 = "Tom";
sheet.Cells[2, 2].Value2 = 22;
sheet.Cells[2, 3].Value2 = "Male";

以上代码可以向Excel的“Sheet1”表中添加一条数据,数据内容为“Tom”、“22”、“Male”。

删除Excel数据

使用Excel Interop可以方便地删除指定单元格的数据,以下是一个删除示例:

sheet.Cells[2, 1].Value2 = "";
sheet.Cells[2, 2].Value2 = "";
sheet.Cells[2, 3].Value2 = "";

以上代码可以删除Excel中“Sheet1”表的第二行数据。

修改Excel数据

使用Excel Interop可以方便地修改指定单元格的数据,以下是一个修改示例:

sheet.Cells[2, 3].Value2 = "Female";

以上代码可以将Excel中“Sheet1”表的第二行第三列的数据修改为“Female”。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#操作Excel数据增删改查示例 - Python技术站

(1)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • Unity Shader实现水波纹效果

    下面是详细讲解“Unity Shader实现水波纹效果”的完整攻略,共分四个步骤: 1. 编写顶点着色器 在顶点着色器中,我们需要定义一个变量来储存水波的振幅,并将其应用到顶点坐标上。以下是实现水波纹效果的基本顶点着色器代码: Shader "Custom/Water" { Properties { _Amplitude ("A…

    C# 2023年6月3日
    00
  • C#文件下载实例代码(适用于各个浏览器)

    下面是针对C#文件下载实例代码(适用于各个浏览器)的完整攻略。 什么是C#文件下载实例代码? C#文件下载实例代码就是利用C#编程语言实现的文件下载功能的示例代码。对于网站开发人员来说,文件下载功能是非常重要的一部分,可以提高用户体验和网站的服务能力。 如何实现C#文件下载功能 C#实现文件下载的基本过程包括以下几个步骤: 创建Web请求对象(WebRequ…

    C# 2023年5月31日
    00
  • C#很简单而又很经典的一句代码实例

    当谈到 C# 语言的简洁性和经典性时,有一些令人惊艳的代码实例。以下是两个示例: 示例一:使用 LINQ 进行筛选 LINQ(Language-Integrated Query)是在 C# 中进行数据查询和操作的一种方式。在 LINQ 中,您可以使用像 SQL 语句一样的查询语法来筛选出特定的数据。下面是一段使用 LINQ 筛选出数字列表中所有偶数的代码: …

    C# 2023年5月15日
    00
  • Oracle数据远程连接的四种设置方法和注意事项

    Oracle数据远程连接的四种设置方法和注意事项 Oracle数据库是一款功能强大的数据库产品,可进行本地和远程连接。通过远程连接,可以让多个客户端连接到同一个数据库实例,实现共享数据的目的。在本文中,我们将详细讲解Oracle数据远程连接的四种设置方法和注意事项。 1. 设置监听器(Listener) 监听器是Oracle数据库与其他应用程序之间通信的重要…

    C# 2023年5月15日
    00
  • C# char[]与string byte[]与string之间的转换详解

    C# char[]与string 在C#中,char[]与string之间的转换可以通过以下方法实现: char[]转string 可以调用string构造函数,传入char[]即可: char[] chars = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ }; string str = new string(chars); 上面的代码会将char…

    C# 2023年6月8日
    00
  • Windows Server2012 安装配置DNS服务器方法详解

    下面是关于“Windows Server 2012安装配置DNS服务器方法详解”的完整攻略,包含两个示例。 1. DNS服务器简介 DNS(Domain Name System)是互联网上的一种命名系统,用于将域名转换为IP地址。DNS服务器是运行DNS服务的计算机,它负责将域名解析为IP地址。在Windows Server 2012中,可以使用DNS服务器…

    C# 2023年5月15日
    00
  • C#实现UI控件输出日志的方法详解

    标题:C#实现UI控件输出日志的方法详解 正文: 在C#中,我们通常使用控制台输出日志信息。但是,在UI应用程序中,我们更经常使用UI控件来展示日志信息。本文将详细介绍如何在C#中实现UI控件输出日志的方法。 基本思路 UI控件输出日志的基本思路是通过控制UI控件的Text属性,将日志信息添加到UI控件上,从而实现日志的输出。这个过程可以使用delegate…

    C# 2023年5月15日
    00
  • ASP.NET加密解密算法分享

    ASP.NET加密解密算法分享 在ASP.NET开发中,我们经常使用加密解密算法对用户数据等敏感信息进行安全保护。本文将介绍常见的ASP.NET加密解密算法示例,涵盖对称加密算法、非对称加密算法以及哈希算法等多种加密手段。 对称加密算法 对称加密算法是一种基于密钥的加密方式,同一把密钥可以同时用于加密和解密。在ASP.NET中,常用的对称加密算法包括DES、…

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