ASPOSE Cells 第二篇-排序與小計功能

Excel 的資料功能區內有[排序]跟[小計]的功能,這篇紀錄一下用 ASPOSE 完成。順便錄一下Execl 如何完成小計功能。

另外再簡單介紹SUBTOTAL公式內的函數。

 

  • Excel 的小計功能與 SUBTOTAL 公式
    在影片中將頭兩個欄位排序後,分別加入小計功能。需注意第二次執行小計功能前,須取消勾選[取代目前小計(C)]。最後可以看到,把SUBTOTAL公式內的第一個參數從 9 改成 109,改成 109 可以忽略已摺疊(隱藏)的資料,依照需求再做修改即可。

 

  • 用ASPOSE 完成 排序與小計
    執行小計以前,一定要先排序。
//要先排序
DataSorter sorter = wb.book.DataSorter;
sorter.Order1 = SortOrder.Ascending;
sorter.Key1 = 0;
sorter.Order2 = SortOrder.Ascending;
sorter.Key2 = 1;
//sorter.SortAsNumber = true; // 按數字排序
sorter.Sort(wb.book.Worksheets[0].Cells, CellArea.CreateCellArea("A2", "D10"));

//小計
CellArea ca = new CellArea();
ca.StartRow = 1;
ca.StartColumn = 0;
ca.EndRow = 9;
ca.EndColumn = 3;
wb.book.Worksheets[0].Cells.Subtotal(ca, 0, ConsolidationFunction.Sum, new int[] { 3 }, true, false, true);
wb.book.Worksheets[0].Cells.Subtotal(ca, 1, ConsolidationFunction.Sum, new int[] { 3 }, false, false, true);