不能使用列宽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;
如果你让我们知道什么样的错误,或者当你使用上述语句时你看到了什么样的行为改变,我们可以帮助你。