Применение итоговой строки и изменение направления итоговых строк справа от детальной
Эта статья объяснит, как применить итоговую строку к данным и изменить направление итоговых строк ниже детали.
Вы можете применить итоговую строку к данным, используя метод Worksheet.Cells.Subtotal(). Он принимает следующие параметры.
- CellArea - Диапазон, на котором применяется промежуточный итог
- GroupBy - Поле для группировки по нулевому индексу
- Function - Функция промежуточного итога
- TotalList - Массив смещений нулевого индекса, указывающий на поля, к которым добавляются итоги
- Replace - Указывает, нужно ли заменить текущие промежуточные итоги
- Разрывы страниц - Указывает, добавлять ли разрыв страницы между группами
- SummaryBelowData - Указывает, нужно ли добавить итоги ниже данных
Также можно управлять направлением сводных строк Ниже строки деталей , как показано на следующем скриншоте, используя свойство Worksheet.Outline.SummaryRowBelow. Вы можете открыть этот параметр в Microsoft Excel, используя Данные > Контур > Настройки
Изображения исходных и выходных файлов
На следующем скриншоте показан исходный файл Excel, используемый в приведенном ниже образцовом коде, содержащий некоторые данные в столбцах A и B.
На следующем скриншоте показан выходной файл Excel, созданный образцовым кодом. Как видно, к диапазону A2:B11 было применено итого, и направление контура - сводные строки ниже деталей.
Код C#, применяющий итог и изменяющий направление строк аутлайна-суммари
Вот пример кода для достижения указанного выше результата.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create workbook from source Excel file | |
Workbook workbook = new Workbook(dataDir + "Book1.xlsx"); | |
// Access the first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Get the Cells collection in the first worksheet | |
Cells cells = worksheet.Cells; | |
// Create a cellarea i.e.., A2:B11 | |
CellArea ca = CellArea.CreateCellArea("A2", "B11"); | |
// Apply subtotal, the consolidation function is Sum and it will applied to Second column (B) in the list | |
cells.Subtotal(ca, 0, ConsolidationFunction.Sum, new int[] { 1 }, true, false, true); | |
// Set the direction of outline summary | |
worksheet.Outline.SummaryRowBelow = true; | |
// Save the excel file | |
workbook.Save(dataDir + "output_out.xlsx"); |