我想使用 OLEDB 使用以下代码更新 Excel 2010 文件。
我发现当我调试这段代码时,没有异常但是excel文件列(状态)内容没有更新,有人可以帮忙吗?
PS sql语句是这样的:
UPDATE [Sheet1$] SET Status ='Imported' WHERE Status IN ( SELECT TOP 5 Status FROM [Sheet1$])
.
System.Data.OleDb.OleDbConnection MyConnection;
System.Data.OleDb.OleDbCommand myCommand = new System.Data.OleDb.OleDbCommand();
StringBuilder sql = new StringBuilder();
MyConnection = new System.Data.OleDb.OleDbConnection(GetExcelConnectionStringByWrite(filePath));
MyConnection.Open();
myCommand.Connection = MyConnection;
//sql.Append("UPDATE [");
//sql.Append(sheetName);
//sql.Append("S1:S");
//sql.Append(rowNum);
//sql.Append("] SET Status ='Imported'");
//---------New Update SQL---------
sql.Append("UPDATE [");
sql.Append(sheetName);
sql.Append("] SET Status ='Imported' WHERE Status IN ( SELECT TOP ");
sql.Append(rowNum);
sql.Append(" Status FROM ");
sql.Append("[");
sql.Append(sheetName);
sql.Append("])");
//------------End-----------------
myCommand.CommandText = sql.ToString();
myCommand.ExecuteNonQuery();
MyConnection.Close();