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

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

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

根据你的build议,为了生成excel报告,在特定的列上进行sorting,我只是实现了下面的逻辑。

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) 

我在保存文件之前就试过这个逻辑,甚至在保存文件之后,却没有给出任何结果,即sorting结果,甚至没有得到任何错误。

但下面的代码工作….

gobjExcelReportSheet.Application.Selection.Autofilter()

但是没有select的程序分类。

请帮帮我…

谢谢!

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

 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) 

基本上你需要select一个范围(在这种情况下,A1:L10,然后select按特定列(D)sorting。