я генерировать лист Excel, который содержит данные, отформатированную следующим образом:Как переместить «подэлементы» в сводной таблице Excel в другой столбец?
IOW, что «Всего пакетов», «Всего покупок», «Средняя цена», и «% от общего числа» значения находятся в отдельной колонке (данные) для каждого описания (или поиска).
Когда я PivotTablize этих данных, он помещает эти значения под каждое описание:
Это имеет смысл, но тех, кто привык к предыдущему внешнему виду хочет воспроизвести в сводной таблице. Как я могу переключить «подэлементы» описания в сводной таблице в свой столбец?
Это код, который я использую для создания сводной таблицы:
private void PopulatePivotTableSheet()
{
string NORTHWEST_CORNER_OF_PIVOT_TABLE = "A6";
AddPrePivotTableDataToPivotTableSheet();
var dataRange = rawDataWorksheet.Cells[rawDataWorksheet.Dimension.Address];
dataRange.AutoFitColumns();
var pivotTable = pivotTableWorksheet.PivotTables.Add(
pivotTableWorksheet.Cells[NORTHWEST_CORNER_OF_PIVOT_TABLE],
dataRange,
"PivotTable");
pivotTable.MultipleFieldFilters = true;
pivotTable.GridDropZones = false;
pivotTable.Outline = false;
pivotTable.OutlineData = false;
pivotTable.ShowError = true;
pivotTable.ErrorCaption = "[error]";
pivotTable.ShowHeaders = true;
pivotTable.UseAutoFormatting = true;
pivotTable.ApplyWidthHeightFormats = true;
pivotTable.ShowDrill = true;
// Row field[s]
var descRowField = pivotTable.Fields["Description"];
pivotTable.RowFields.Add(descRowField);
// Column field[s]
var monthYrColField = pivotTable.Fields["MonthYr"];
pivotTable.ColumnFields.Add(monthYrColField);
// Data field[s]
var totQtyField = pivotTable.Fields["TotalQty"];
pivotTable.DataFields.Add(totQtyField);
var totPriceField = pivotTable.Fields["TotalPrice"];
pivotTable.DataFields.Add(totPriceField);
// Don't know how to calc these vals here, so have to grab them from the source data sheet
var avgPriceField = pivotTable.Fields["AvgPrice"];
pivotTable.DataFields.Add(avgPriceField);
var prcntgOfTotalField = pivotTable.Fields["PrcntgOfTotal"];
pivotTable.DataFields.Add(prcntgOfTotalField);
}
Так есть один RowField («MonthYr») со значениями, такими как «201509» и «201510», один ColumnField («Описание») и четыре DataFields, которые выравнивают их в поле столбца Описание. Я хочу перенести эти четыре поля вправо, в их собственный столбец, а ярлык описания - вертикально центрировать между этими четырьмя значениями слева. [Как это возможно?
добавлен код для слияния ярлыки описания. – Salvador
Из-за других вещей, которые не совсем работают в EPPlus, мне, вероятно, понадобится реализовать это в Excel Interop; код тот же для этого? –
Я думаю, что, не пробовал, хотя: https://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.pivottable.aspx – Salvador