2009-02-18 28 views
2

我们正在生成Excel报告,我们需要在保存文件之前以编程方式对数据进行排序。如何使用vb.net以编程方式对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) 

我尝试了保存文件前,甚至只是保存在此之后的逻辑该文件,但它没有给出任何结果即排序结果,甚至我没有得到任何错误。

但是,下面的代码工作....

gobjExcelReportSheet.Application.Selection.Autofilter()

但对于programmetically排序的选项。

请帮我...

谢谢!

+0

是否使用Office Interop程序集生成报告?如果您提供了您正在做的事情的代码示例,则更有可能获得有价值的响应。 – Charlie 2009-02-18 11:53:45

回答

5

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

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) 

基本上你需要选择一个范围(在这种情况下,A1:L10,然后选择通过一定的列进行排序它(D)

+0

我已经实施了此操作,但是我得到预期的结果,甚至没有得到任何错误,我需要做任何其他设置?请建议。谢谢。 – Suman 2009-02-19 06:07:08

相关问题