Применение итоговой строки и изменение направления итоговых строк справа от детальной
Эта статья объяснит, как применить итоговую строку к данным и изменить направление итоговых строк ниже детали.
Вы можете применить итоговую строку к данным, используя метод Worksheet.cells.subtotal(). Он принимает следующие параметры.
- ca - Диапазон для применения итоговой строки
- group_by - Поле для группировки, как целочисленное смещение с нулевой базой
- function - Функция итоговой строки
- total_list - Массив смещений полей с нулевой базой, указывающий поля, к которым добавляются итоговые строки
- replace - Указывает, заменить ли текущие итоговые строки
- page_breaks - Указывает, добавить ли разрывы страниц между группами
- summary_below_data - Указывает, добавлять ли сводку под данными.
Также можно управлять направлением сводных строк Ниже строки деталей , как показано на следующем скриншоте, используя свойство Worksheet.Outline.SummaryRowBelow. Вы можете открыть этот параметр в Microsoft Excel, используя Данные > Контур > Настройки
Изображения исходных и выходных файлов
На следующем скриншоте показан исходный файл Excel, используемый в приведенном ниже образцовом коде, содержащий некоторые данные в столбцах A и B.
На следующем скриншоте показан выходной файл Excel, созданный образцовым кодом. Как видно, к диапазону A2:B11 было применено итого, и направление контура - сводные строки ниже деталей.
Код Python для применения итогов и изменения направления сводных строк
Вот пример кода для достижения указанного выше результата.
from aspose.cells import CellArea, ConsolidationFunction, Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Create workbook from source Excel file | |
workbook = Workbook(dataDir + "Book1.xlsx") | |
# Access the first worksheet | |
worksheet = workbook.worksheets[0] | |
# Get the Cells collection in the first worksheet | |
cells = worksheet.cells | |
# Create a cellarea i.e.., A2:B11 | |
ca = CellArea.create_cell_area("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, [1 ], True, False, True) | |
# Set the direction of outline summary | |
worksheet.outline.summary_row_below = True | |
# Save the excel file | |
workbook.save(dataDir + "output_out.xlsx") |