C# splitrow为>;时Excel互操作冻结窗格失败;0

C# splitrow为>;时Excel互操作冻结窗格失败;0,c#,excel,vb.net,C#,Excel,Vb.net,我试图冻结在vb.net项目中创建的excel工作表中的窗格。我创建了以下测试代码: Dim xlApp = New Microsoft.Office.Interop.Excel.Application Dim xlBook = xlApp.Workbooks.Add Dim xlSheet = xlBook.Worksheets(1) Dim xlWindow = xlApp.Windows(1) With xlApp.ActiveWindow .SplitColumn = 1

我试图冻结在vb.net项目中创建的excel工作表中的窗格。我创建了以下测试代码:

Dim xlApp = New Microsoft.Office.Interop.Excel.Application
Dim xlBook = xlApp.Workbooks.Add
Dim xlSheet = xlBook.Worksheets(1)
Dim xlWindow = xlApp.Windows(1)
   
With xlApp.ActiveWindow
  .SplitColumn = 1
  .SplitRow = 0
End With

xlApp.ActiveWindow.FreezePanes = True
问题是这样写的很好,但是如果我将.SplitRow更改为大于0的任何值,那么冻结窗格行就会出错-

mscorlib.dll中发生类型为“System.Runtime.InteropServices.COMException”的未处理异常

其他信息:无法设置窗口类的冻结窗格属性

我还尝试将块完全替换为单线:

xlSheet.Cells(6, 2).Select()
这不会抛出错误,但也只冻结第6列


我想补充一点,这是一个较旧的程序,我每年使用一次,去年运行良好,但后来我升级到了office 365(64位版本)。我仍在使用office 15的interop程序集,但尚未找到更新版本。

由于没有人能够回答此问题,并且我找到了一个解决方法,我想我会为遇到此问题的任何其他人发布一个答案。我不接受这个答案,因为应该有一个使用微软自己的dll的解决方案

我发现了一个免费的dll,叫做e-iceblue的spire office,它允许在不安装office的情况下操作excel文件(这使得它的版本不可知)。免费版本有一些限制,但它们似乎不适用于仅xls文件转换任务。这可以拆分窗格