您可以使用 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
提供程序添加到您的項目引用中。