如何使用vb.net以编程方式对Excel中的列进行排序?

Sum*_*man 3 vb.net excel

我们正在生成Excel报告,我们需要在保存文件之前以编程方式对数据进行排序.

是否可以使用vb.net以编程方式对Excel文件的特定列进行排序?

根据您的建议,为了生成excel报告并对特定列进行排序,我只是实现了如下逻辑.

Dim MyRange As Excel.Range
  gobjExcelReportSheet.Activate()
      MyRange = gobjExcelReportSheet.Range("A8", "L8")
      MyRange.Select()
      MyRange.Sort(Key1:=MyRange.Range("L8"), _
                   Order1:=XlSortOrder.xlAscending, _
                   Header:=XlYesNoGuess.xlGuess, _
                   MatchCase:=False, _
                   Orientation:=XlSortOrientation.xlSortColumns)
Run Code Online (Sandbox Code Playgroud)

我在保存文件之前尝试了这个逻辑,甚至在保存文件之后,但它没有给出任何结果,即排序结果,甚至我没有收到任何错误.

但以下代码有效....

gobjExcelReportSheet.Application.Selection.Autofilter()

但是没有选择性地进行排序.

请帮我...

谢谢!

Rob*_*obS 7

假设你正在使用互操作程序集,我就是这样做的:

Dim myWorkSheet As Excel.Worksheet = myWorkbook.Worksheets(aSheetName)
myWorkSheet.Activate()
Dim myRange As Excel.Range

myRange = myWorkSheet.Range("A1", "L10")
myRange.Select()


myRange.Sort(Key1:=myRange.Range("D1"), _
                        Order1:=Excel.XlSortOrder.xlAscending, _
                        Orientation:=Excel.XlSortOrientation.xlSortColumns)
Run Code Online (Sandbox Code Playgroud)

基本上你需要选择一个范围(在这种情况下A1:L10,然后选择按某一列(D)排序).