Я пытаюсь создать сводную таблицу Excel в C # с помощью ClosedXML, которая должна суммировать значения.У меня есть исходная таблица, генерирующая правильно, и сводная таблица правильно ссылается на нее и также генерирует.
Однако с помощью документов я не могу понять, как сместить агрегацию значений (т. Е. Σ Values ) с появления в столбцах на отображение в строках"через C #.Хотя этого легко достичь в графическом интерфейсе, перетаскивая параметр в поле «Rows», я хотел бы знать, как это сделать с помощью команды ClosedXML.
Ниже приведен скриншот выполнения действия в графическом интерфейсе + мой текущий код, который генерирует первое изображение:
...
var ptSheet1 = workbook.Worksheet("Environmental Impacts");
var pt = ptSheet1.PivotTables.Add("PivotTable1", ptSheet1.Cell(1, 1), table);
pt.ReportFilters.Add("UniqueAssetId");
pt.ReportFilters.Add("Year");
pt.ReportFilters.Add("DesignFunctionName");
pt.ColumnLabels.Add("Module");
pt.Values.Add("Global Warming Potential, GWP").SummaryFormula = XLPivotSummary.Sum;
pt.Values.Add("Ozone Depletion Potential, ODP").SummaryFormula = XLPivotSummary.Sum;
pt.Values.Add("Acidification Potential for Soil and Water, AP").SummaryFormula = XLPivotSummary.Sum;
pt.Values.Add("Eutrophication potential, EP").SummaryFormula = XLPivotSummary.Sum;
Редактировать : добавив «Модули» (значения A4, A5 и т. Д.) К меткам строк вместо меток столбцов с помощью pt.RowLabels.Add("Module");
Я могу получить транспонирование предполагаемой таблицы с суммойзначений, которые все еще перечислены в столбцах.Это близко, но на самом деле не то, что я хотел, так как имена модулей короткие и более естественно соответствуют заголовкам столбцов.И хотя у ClosedXML есть возможность транспонировать выделение Range
, оно не похоже на то, что оно доступно в сводных таблицах.
Редактировать 2 : просматривал источник + документы наи отключился на несколько часов и не могу найти ссылку на это, поэтому я в итоге оставил запрос на репо: https://github.com/ClosedXML/ClosedXML/issues/1193