【发布时间】:2013-12-12 20:42:19
【问题描述】:
如何使用 Excel 的互操作 API 在 .NET 中冻结列。不在乎你用什么 .Net 语言编写代码。我试过了:
Public Sub FreezeColumn(ByVal FileName As String, ByVal SheetName As String, ByVal RangeName As String)
Dim oExcel As Excel.Application = Nothing
Try
oExcel = New Excel.Application
oExcel.Visible = False
If String.IsNullOrEmpty(RangeName) Then Exit Sub
oExcel.Workbooks.Open(FileName, False, True)
oExcel.DisplayAlerts = False
For Each wsheet As Worksheet In oExcel.ActiveWorkbook.Worksheets
If wsheet.Name = SheetName Then
wsheet.Range(RangeName).Select()
oExcel.ActiveWindow.FreezePanes = True
Exit For
End If
Next
oExcel.Save()
Catch ex As Exception
Throw
Finally
If Not IsNothing(oExcel) Then
If Not IsNothing(oExcel.ActiveWorkbook) Then
oExcel.ActiveWorkbook.Close(SaveChanges:=True)
ProcessHandler.ExcelDispose(oExcel)
oExcel = Nothing
End If
End If
End Try
End Sub
【问题讨论】: