C#中怎么使用OleDbDataAdapter更新Excel
您可以使用 OleDbDataAdapter
和 OleDbCommandBuilder
类来更新 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
提供程序添加到您的项目引用中。
版权声明
本文仅代表作者观点,不代表米安网络立场。
上一篇:json格式报错的原因有哪些 下一篇:pdo如何防范sql注入
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。