通过OLEDB更新Excel字段删除定义的单元名称

我使用OLEDB来更新Excel文件,这是我遇到麻烦的一个更新示例:

OleDbConnection myConnection; OleDbCommand myCommand = new OleDbCommand(); myConnection = new OleDbConnection( "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\my_template.xslm; Extended Properties=\"Excel 12.0 Macro;HDR=No;\"" ); myConnection.Open(); myCommand.Connection = myConnection; string sql = "Update [Sheet1$D16:D16] SET F1 = 'Some Text Here'"; myCommand.CommandText = sql; myCommand.ExecuteNonQuery(); 

该更新正常工作,更新我想要的单元格。 但是,它也更新了以前定义的单元名称。 公式中使用的单元格名称。 你可以看到这个图像的问题:

在这里输入图像说明

任何人都面临过这个问题?

有什么build议么 ?

这不是一个好的答案,但如果你在pressue下…你可以检查Name是如何定义的 – 对于Sheet还是Global是本地的,然后testing它是否仍然使用替代方法失败…

接下来,您可以检查驱动程序是否有故障,即之前是否正常工作 – 是否有更改