[英]C# Excel Range Sort
我想对一个范围进行排序。 第一行(Excel 工作簿中的第 3 行)包含需要按升序从左到右排序的列标题:
Excel.Range tempRange = ws.get_Range("F3", "H8");
tempRange.Sort(Type.Missing,
Excel.XlSortOrder.xlAscending,
Type.Missing,
Excel.XlSortOrder.xlAscending,
Excel.XlSortOrder.xlAscending,
Type.Missing,
Excel.XlSortOrder.xlAscending,
Excel.XlYesNoGuess.xlYes,
Type.Missing,
Type.Missing,
Excel.XlSortOrientation.xlSortColumns,
Excel.XlSortMethod.xlPinYin,
Excel.XlSortDataOption.xlSortNormal,
Excel.XlSortDataOption.xlSortNormal,
Excel.XlSortDataOption.xlSortNormal);
这当前会生成错误“范围 class 的排序方法失败”。
我在排序方法开始时尝试了各种参数,但这会生成“排序引用无效。 确保它在您要排序的数据中,并且第一个排序依据框不是相同或空白的错误消息。
我哪里错了?
等效的 VBA 工作正常:
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("F3:H8")
.Header = xlYes
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
非常感谢
乔
我将 Range 作为第一个参数并将 Orientation 设置为 Excel.XlSortOrientation.xlSortRows。
tempRange.Sort(tempRange,
Excel.XlSortOrder.xlAscending,
Type.Missing, Type.Missing,
Excel.XlSortOrder.xlAscending,
Type.Missing,
Excel.XlSortOrder.xlAscending,
Excel.XlYesNoGuess.xlYes,
Type.Missing,
Type.Missing,
Excel.XlSortOrientation.xlSortRows,
Excel.XlSortMethod.xlPinYin,
Excel.XlSortDataOption.xlSortNormal,
Excel.XlSortDataOption.xlSortNormal,
Excel.XlSortDataOption.xlSortNormal);
有用的链接:
http://social.msdn.microsoft.com/Forums/en-US/exceldev/thread/a699d754-98d5-4241-87da-8761c520ba72/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.