Я получил этот EPPlus код для создания сводной таблицы:Как я могу предварительно выбрать поля для включения в сводную таблицу?
private void AddPivotTable()
{
string colAlphaRowNum = string.Format("A{0}", locationWorksheet.Dimension.End.Row+5);
ExcelAddressBase eab = locationWorksheet.Cells[colAlphaRowNum];
ExcelRangeBase erb = locationWorksheet.Cells[6, 1, locationWorksheet.Dimension.End.Row, locationWorksheet.Dimension.End.Column];
var pt = locationWorksheet.PivotTables.Add(eab, erb, "Pivotous");
pt.MultipleFieldFilters = true;
pt.RowGrandTotals = true;
pt.ColumGrandTotals = true;
pt.Compact = true;
pt.CompactData = true;
pt.GridDropZones = false;
pt.Outline = false;
pt.OutlineData = false;
pt.ShowError = true;
pt.ErrorCaption = "[error]";
pt.ShowHeaders = true;
pt.UseAutoFormatting = true;
pt.ApplyWidthHeightFormats = true;
pt.ShowDrill = true;
pt.DataOnRows = false;
pt.FirstHeaderRow = 1; // first row has headers
pt.FirstDataCol = 1; // first col of data
pt.FirstDataRow = 2; // first row of data
pt.TableStyle = TableStyles.Medium6; // There is a "custom" and several Dark, Light, and Medium options
}
Это своего рода-Сорта работ; Я получаю это на листе:
Если я после этого (вручную) выбрать все шесть доступных полей в «списке полей сводной таблицы» в северо-восточном углу листа, сводной таблицы меняет appearnce к этому:
Это очень хорошо, потому что пользователь может «возиться» с ним - выбор любого подмножества доступных данных для каждого поля. Но я бы хотел, чтобы сводная таблица начала в этом состоянии, а не для того, чтобы пользователь вручную выбирал поля.
Как это возможно?
ПРИМЕЧАНИЕ. У меня были аналогичные проблемы с Excel Interop и было обнаружено, что «вещи» намного проще с использованием EPPlus, в отличие от этого; все же, хотя программный выбор полей кажется проблемой ...