不能使用列宽excel属性

我试图在Excel中设置一个或几个单元格的宽度。

这是我的代码

Microsoft.Office.Interop.Excel.Application xla = new Microsoft.Office.Interop.Excel.Application(); Workbook wb = xla.Workbooks.Add(XlSheetType.xlWorksheet); Worksheet ws = (Worksheet)xla.ActiveSheet; 

我知道如果我要改变整个列的宽度

 ws.Columns.ColumnWidth = 30; ws.Cells.ColumnWidth = 30; 

但是当我尝试用下面的代码来改变特定的列

 ws.Columns[5].ColumnWidth = 30; *//or* ws.Cells [5, 5].ColumnWidth = 30; **//or* ws.Columns["E:E"].ColumnWidth = 30; 

属性ColumnWidth不能使用
在列表后,我键入colums [5]然后点只出现'等于,GetHahCode,盖茨,ToString',当我尝试手动键入它给错误'没有重载的方法'这'需要'1'参数'

我用Visual Studio 2010和框架4.0我不知道我失踪…

您可能使用的目标框架是.Net框架3.5或更低。 将其更改为.Net Framework 4.0,它将正常工作。 这个dynamic属性只存在于Framework 4.0中。 要更改框架,请右键单击解决scheme资源pipe理器上的项目。 单击属性,并使用下拉列表将目标框架的值设置为.NET Framework 4.0。 这应该肯定工作。 试着让我知道,如果它不适合你。

您可以使用MS-Officemacros来获取所需的代码片段。

例如,我运行一个简单的macros,然后改变最喜欢的列的宽度,并在最后停止macros查看此操作的VB代码。

当您要在Ms-Office产品中执行非常复杂的任务时,这非常有用。

 Sub Macro1() ' ' Macro1 Macro ' ' Columns("J:J").ColumnWidth = 22.5 End Sub 

上面的macros用于设置J列的宽度

@Katik:我可以用这个改变列的宽度

ws.Columns[5].ColumnWidth = 17.57;

如果你让我们知道什么样的错误,或者当你使用上述语句时你看到了什么样的行为改变,我们可以帮助你。