如何使用PowerShell从排序Excel列中排除第一行

时间:2016-08-08 21:14:57

标签: c# excel sorting powershell

我想整理一列(这是一个目标日期,我希望按照最早的日期对其进行排序)。 问题是第一行是文本(列的名称),因此当我按列F(目标日期)对其进行排序时,文本行将转到excel文档的最后。 我希望这些列名留在每一列的顶部。

Column I want to sort out

以下是代码:

$objRange = $worksheet.UsedRange
$objRange2 = $Excel.Range("F2")
[void]$objRange.Sort($objRange2.Range("F2"))

我不确定如何排除第一行的排序。

1 个答案:

答案 0 :(得分:1)

由于您的范围包含标题,因此您必须向Sort方法添加一个参数,以指示它不应对标题进行排序。

您的范围命令将如下所示:

[void]$objRange.Sort($objRange2,1,$null,$null,1,$null,1,1)

对于xlSortOrder参数,Sort方法不喜欢$ null,所以我只指定1表示升序。如果你需要降序,请使用2.最后一个是我们真正关心的参数。指定1表示是,该范围具有不应包含在排序操作中的标题。

语法参考:

https://msdn.microsoft.com/en-us/library/office/ff840646.aspx