我需要使用C#在Excel中对多个列进行排序。我正在使用Microsoft.Office.Interop.Excel来执行此操作。但Range.Sort允许我只对三列进行排序。我想排序超过三列?有没有办法可以使用Excel.Range.Sort方法对三列以上的内容进行排序?
答案 0 :(得分:2)
在Excel 2007之前,您只能使用3种排序密钥 - Range.Sort
不会让您使用更多密钥。如果这是您的目标版本,那么您需要具有创造性:将数据提取到C#代码并对其进行排序,或构建包含连锁键的额外工作表列,然后应用{{1}正常。
如果您专门使用Excel 2007或更高版本,那么可以使用更加灵活的排序功能:Sort
。我在Worksheet.Sort
中构建了一个30x10的随机数表,并记录了一个按前五列排序的宏。这就是我得到的(在稍微清理和重复删除代码之后):
A1:J30
这应该很容易应用于您的C#代码......