Как преобразовать сводную таблицу в Epplus в обычную таблицу на C#?C#

Место общения программистов C#
Anonymous
Как преобразовать сводную таблицу в Epplus в обычную таблицу на C#?

Сообщение Anonymous »

Я использую Epplus для экспорта некоторых данных в электронную таблицу Excel. Для одного листа я построил диаграмму, используя эти данные, и она работает нормально. Для другого листа данных мне также нужно построить диаграмму, но для этого мне нужно было повернуть таблицу, и это нормально. Этот сводный код приведен ниже:

Код: Выделить всё

    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

Вернуться в «C#»