2009-12-01 55 views
11

我有一个C#应用程序,我从数据库中的数据创建大量Excel文件。这部分工作正常。但是,我的用户询问是否可以修改工作表选项卡以反映数据库中的字段。这听起来很简单,但是,当我尝试重置名称时,它告诉我它是只读的,无法设置。我曾尝试以下,并没有奏效:如何从Excel电子表格中的C#更改工作表名称

xlApp.Sheets[0].Range["A1"].Value = "NewTabName"; 

也试过:

xlApp.Name = "NewTabName"; 

我做了谷歌搜索,发现这并没有为我工作,以及一些其他的方法。并且一些答复表明它是只读的,无法完成。

这看起来应该很简单。我该怎么做。

回答

22

您需要访问实际工作表。尝试像这样:

Microsoft.Office.Interop.Excel.Worksheet worksheet = (Worksheet)xlApp.Worksheets["Sheet1"]; 
    worksheet.Name = “NewTabName”; 
+0

这工作得很好。非常感谢。 – 2009-12-01 21:37:07

+1

像魅力一样工作,谢谢! ...等等...做魅力真的有用吗? ... – Lukas 2015-03-06 18:22:26

+0

这是错误的anwser!如果客户端具有不同的语言版本,Sheet1将不存在!例如在波兰语中,这个字符串将是“Arkusz1”而不是Sheet1 – 2017-04-21 15:46:24

相关问题