Код: Выделить всё
var specPivotTable = specificationPivot.PivotTables.Add(specificationPivot.Cells["A1"], specificationSheet.Cells["A1:I" + specificationSheet.Dimension.End.Row], "SpecPivot");
var contractor = specPivotTable.ColumnFields.Add(specPivotTable.Fields["Name"]);
var directCost = specPivotTable.DataFields.Add(specPivotTable.Fields["Total Direct Cost"]);
var specRows = specPivotTable.RowFields.Add(specPivotTable.Fields["Specification"]);
specPivotTable.DataOnRows = true;
specPivotTable.Calculate(true);
Однако здесь я столкнулся с проблемой. Этот экспорт выполняется в одном из наших приложений, поэтому, когда кто-то экспортирует данные, а затем открывает файл Excel, Excel по умолчанию использует защищенный вид на основе того факта, что он был загружен из Интернета. Первый лист и его диаграмма отображаются нормально. Второй лист данных также отображается нормально. Однако на листе со сводной таблицей сводная таблица не отображается, и диаграмма также не заполняется. Как только я нажимаю кнопку «Включить редактирование», появляется сводная таблица, а также диаграмма. Это проблема, поскольку мы не можем ожидать, что наши пользователи сделают это, и неочевидно, что вам нужно нажимать эту кнопку.< /p>
Итак, есть ли в EPPlus способ взять необработанные сводные данные и скопировать их на новый лист? Затем я мог бы создать диаграмму на основе копии, что сделало бы ее более похожей на первый лист и диаграмму. Я видел один пост SO, который предположительно показывал, как это сделать, но когда я попробовал код, все, что он сделал, это отменил поворот данных.
Итак, чтобы было ясно, что Я хотел бы сохранить сводные данные на новом листе, как обычную таблицу. Возможно ли это сделать?
Подробнее здесь: https://stackoverflow.com/questions/786 ... table-in-c