如何使用冻结.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发布于 2013-12-12 20:54:29
在冻结窗格之前,您需要激活工作表。
添加
wsheet.Activate在此之前
wsheet.Range(RangeName).Select()参见此测试示例
Imports Excel = Microsoft.Office.Interop.Excel
Public Class Form1
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) _
Handles Button1.Click
Dim oExcel As New Excel.Application
oExcel.Visible = True
oExcel.Workbooks.Open("C:\book1.xls", False, True)
oExcel.DisplayAlerts = False
For Each wsheet As Excel.Worksheet In oExcel.ActiveWorkbook.Worksheets
If wsheet.Name = "Sheet1" Then
wsheet.Activate()
wsheet.Range("A1").Select()
oExcel.ActiveWindow.FreezePanes = True
Exit For
End If
Next
End Sub
End Classhttps://stackoverflow.com/questions/20553811
复制相似问题