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日

相关文章

  • 基于C#实现语音识别功能详解

    基于C#实现语音识别功能详解 简介 语音识别是目前非常流行的人机交互方式之一,也有很多应用场景,诸如:车载音响、语音助手、智能家居等。本文将介绍如何使用C#实现语音识别功能。 准备工作 为实现语音识别功能,我们需要引入第三方库——Microsoft Speech SDK。首先需要前往Microsoft官网下载安装SDK,地址:https://www.micr…

    C# 2023年5月15日
    00
  • C# 扩展方法详解

    C# 扩展方法详解 什么是扩展方法 C# 中的扩展方法是一种特殊的静态方法,它可以为已存在的类或结构体类型添加新的方法,而无需继承或修改原始类型。 通过扩展方法,可以使已经存在的类型具有新的行为和功能,这个过程不需要访问原始类的源代码,也不需要使用继承或接口实现。 扩展方法的语法 扩展方法使得我们可以给已经存在的类型添加额外的方法, 而不需要修改源代码, 具…

    C# 2023年6月1日
    00
  • C#事件用法实例浅析

    标题:C#事件用法实例浅析 什么是C#事件? 在C#中,事件是一种特殊的委托,它允许用户定义在程序中发生的某些行为。当这种行为发生时,事件会调用一个或多个事件处理程序来响应,执行特定的代码。 C#事件的声明和使用 声明事件 在C#中声明事件需要两个要素:事件的委托类型和事件本身。具体声明方式如下: public delegate void EventHand…

    C# 2023年5月31日
    00
  • .net中最简单的http请求调用(比如调用chatgpt的openAI接口)

    支持.Net Core(2.0及以上)/.Net Framework(4.5及以上),可以部署在Docker, Windows, Linux, Mac。 http请求调用是开发中经常会用到的功能,因为,很多第三方功能接口往往是通过http地址的形式提供的,比如:ChatGpt、OpenAI、短信服务、在线翻译、地图服务、语音智能、等…   .net中调用ht…

    C# 2023年5月5日
    00
  • ASP.NET Core – 缓存之分布式缓存

    分布式缓存是由多个应用服务器共享的缓存,通常作为访问它的应用服务器的外部服务进行维护。 分布式缓存可以提高 ASP.NET Core 应用的性能和可伸缩性,尤其是当应用由云服务或服务器场托管时。 与其他将缓存数据存储在单个应用服务器上的缓存方案相比,分布式缓存具有多个优势。 当分发缓存数据时,数据: 在多个服务器的请求之间保持一致(一致性)。 在进行服务器重…

    C# 2023年4月24日
    00
  • C#语言初级入门介绍

    下面就为您讲解C#语言初级入门介绍的完整攻略。 1. C#语言介绍 C#是微软公司推出的一种面向对象的高级编程语言,它结合了C++、Java和Visual Basic等编程语言的优点,具有类型安全、高效性、可维护性和可扩展性等特点。同时,C#也是.NET框架的一部分,可用于开发桌面应用程序、Web应用程序和游戏等多种类型的软件。 2. C#基础语法 2.1 …

    C# 2023年5月31日
    00
  • asp.net中水印的具体实现代码

    实现 ASP.NET 中水印的具体步骤如下: 步骤1:在页面中引用 JavaScript 和 CSS 文件 首先,在页面头部引用以下两个文件: <link rel="stylesheet" type="text/css" href="watermark.css" /> <scrip…

    C# 2023年5月31日
    00
  • 基于SqlSugar的开发框架循序渐进介绍(28)– 快速构建系统参数管理界面

    在参照一些行业系统软件的时候,发现一个做的挺不错的系统功能-系统参数管理,相当于把任何一个基础的系统参数碎片化进行管理,每次可以读取一个值进行管理,这样有利于我们快速的处理业务需求,是一个挺好的功能。本篇随笔模拟这个功能,基于SqlSugar开发框架的基础上,利用代码生成工具快速生成系统参数管理界面和相关的业务类生成。 1、参考和具体实现的效果对比 参照的界…

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