首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用vb.net以编程方式对Excel中的列进行排序?

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

Stack Overflow用户
提问于 2009-02-18 11:50:38
回答 1查看 27.8K关注 0票数 4

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

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

根据您的建议,为了生成按特定列排序的excel报表,我只实现了如下逻辑。

代码语言:javascript
复制
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()

但是没有编程排序的选项。

请帮帮我。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-02-18 12:05:55

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

代码语言:javascript
复制
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)进行排序。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/560750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档