簡體   English   中英

使用互操作按列對工作表進行排序

[英]Sort a worksheet by a column using Interop

我在互聯網上找到了各種相關代碼,但似乎沒有任何效果。 也許有人可以指出我的錯誤:

// Get a Range of the data to sort
// (I also tried to use _worksheet.UsedRange, but it fails - why?)
var dataToSort = _worksheet.Range["A2", $"Z{lastLine}"];

// Sort range
dataToSort.Sort(_worksheet.Range["A2"]);

有趣的是,它使用列而不是行......

其實我想寫這樣的東西:

_worksheet.Sort(columnIndex: 1);

但我找不到合適的重載。

我的工作表如下所示:

1 |      |       |
2 | Z    | Data2 |
3 | A    | Data1 |

我希望它以后看起來像這樣:

1 |      |       |
2 | A    | Data1 |
3 | Z    | Data2 |

(將 Excel 2019 和 Excel 互操作 15 用於 xlsx 文件)

哎呀,無論出於何種原因, 排序方向默認xlSortRows 我不得不切換到xlSortColumns ,現在它可以與這個簡單的 oneliner 一起使用:

_worksheet.UsedRange.Sort(_worksheet.Columns[1], Orientation: XlSortOrientation.xlSortColumns);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM