我们正在生成一个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()
但是没有编程排序的选项。
请帮帮我。
谢谢!
发布于 2009-02-18 12:05:55
假设您使用的是互操作程序集,我就是这样做的:
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)进行排序。
https://stackoverflow.com/questions/560750
复制相似问题