Excel工作表只读和C#

我试图通过C#代码编辑一个Excel工作表,但Excel工作表给我一个只读的错误

CS0200属性或索引器“Range.Text”不能被分配给 – 它是只读的

这是试图访问表的代码。 码:

//Load workbook Excel.Application xlApp = new Excel.Application(); Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"S:\Utils\documents\ServerManager\serverlist.xlsx"); Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1]; Excel.Range xlRange = xlWorksheet.UsedRange; xlWorksheet.Range["D2"].Text = "Kelly Cooper"; xlWorksheet.Range["D2"].Style.Font.FontName = "Arial Narrow"; xlWorksheet.Range["D2"].Style.Font.Color = Color.DarkBlue; 

在属性的Excel工作表不是只读的,当我打开它来编辑它不会提示我“这个文件是只读的,要启用编辑”。 我怎么能绕过这个,Visual Studio不会让我编译,因为它。

这是Office365中的Excel。

你想使用.Value而不是.Text

 xlWorksheet.Range["D2"].Value = "Kelly Cooper"; xlWorksheet.Range["D2"].Style.Font.FontName = "Arial Narrow"; xlWorksheet.Range["D2"].Style.Font.Color = Color.DarkBlue; 

如果您检查文档,您可以看到文本是只读的

此外,如果您检查文档,您可以看到值不是只读的。

编辑

您也可能需要将您的Open参数更改为:

 Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(Filename: "path/to/file", ReadOnly: false);