使用OleDbDataAdapter可以通过C#代码更新Excel数据。下面是一个示例代码:
using System; using System.Data; using System.Data.OleDb; class Program { static void Main() { // 连接字符串,指定Excel文件路径和版本 string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\path\to\your\excel.xlsx;Extended Properties='Excel 12.0;HDR=YES;';"; // 创建OleDbConnection对象 using (OleDbConnection connection = new OleDbConnection(connectionString)) { // 打开数据库连接 connection.Open(); // 创建OleDbDataAdapter和DataSet对象 OleDbDataAdapter adapter = new OleDbDataAdapter(); DataSet dataSet = new DataSet(); // 设置更新命令 adapter.UpdateCommand = new OleDbCommand("UPDATE [Sheet1$] SET [Column1] = @value WHERE [ID] = @id", connection); adapter.UpdateCommand.Parameters.Add("@value", OleDbType.VarChar, 255, "Column1"); adapter.UpdateCommand.Parameters.Add("@id", OleDbType.Integer, 4, "ID"); // 选择需要更新的数据 adapter.SelectCommand = new OleDbCommand("SELECT * FROM [Sheet1$]", connection); // 填充数据到DataSet adapter.Fill(dataSet); // 修改数据 DataTable dataTable = dataSet.Tables[0]; foreach (DataRow row in dataTable.Rows) { row["Column1"] = "New Value"; } // 更新数据到Excel adapter.Update(dataSet); } } }
此代码示例连接到Excel文件,读取数据到DataSet,修改数据,然后使用OleDbDataAdapter更新Excel文件中的数据。请确保Excel文件路径和工作表名称正确。