Linux 拨号vps windows公众号手机端

C#中怎么使用OleDbDataAdapter更新Excel

lewis 7年前 (2018-11-24) 阅读数 13 #程序编程
文章标签 c#excel

您可以使用 OleDbDataAdapterOleDbCommandBuilder 类来更新 Excel 文件。

以下是使用 OleDbDataAdapter 更新 Excel 文件的示例代码:

using System;
using System.Data;
using System.Data.OleDb;
class Program
{
static void Main()
{
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=your_excel_file.xlsx;Extended Properties='Excel 12.0'";
string tableName = "Sheet1"; // Excel 表格名称
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
connection.Open();
// 选择需要更新的数据
string selectQuery = $"SELECT * FROM [{tableName}$]";
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(selectQuery, connection);
// 创建并填充数据集
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet, tableName);
// 更新数据集中的数据
DataTable dataTable = dataSet.Tables[tableName];
DataRow newRow = dataTable.NewRow();
newRow["Column1"] = "New value 1";
newRow["Column2"] = "New value 2";
dataTable.Rows.Add(newRow);
// 创建命令生成器并更新 Excel 文件
OleDbCommandBuilder commandBuilder = new OleDbCommandBuilder(dataAdapter);
dataAdapter.Update(dataSet, tableName);
connection.Close();
}
}
}

在上述示例代码中,您需要将 your_excel_file.xlsx 替换为您的 Excel 文件路径,将 Sheet1 替换为您需要更新的 Excel 表格名称。您还可以根据需要更改和添加要更新的数据列和值。

这段代码首先建立了一个 OleDbConnection 对象,并使用给定的连接字符串打开连接。接下来,我们使用 OleDbDataAdapter 执行一个查询来选择需要更新的数据。然后,我们创建一个 DataSet 对象,并使用 Fill 方法填充数据。接着,我们通过在 DataTable 中创建一个新的行并设置其值来更新数据集中的数据。最后,我们创建一个 OleDbCommandBuilder 对象来生成更新命令,并使用 Update 方法将更改保存到 Excel 文件中。

请注意,您需要将 Microsoft.ACE.OLEDB.12.0 提供程序添加到您的项目引用中。

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门