Создание сводной таблицы Excel - C#
Формулировка задачи:
Доброго времени суток! Подскажите как создать сводную таблицу(PivotTable) в Excel через среду C#.
Решение задачи: «Создание сводной таблицы Excel»
textual
Листинг программы
Excel.Range oRange = WkSht.get_Range("A4:AN1629"); //Испарвить на ЛастРоу
oSheet = (Excel.Worksheet)WB.Worksheets.Add();
oSheet.Name = "Pivot Table";
Excel.Range oRange2 = oSheet.Cells[3, 1];
Excel.PivotCache oPivotCache = (Excel.PivotCache)WB.PivotCaches().Create(Excel.XlPivotTableSourceType.xlDatabase, oRange);
Excel.PivotTable oPivoTable = (Excel.PivotTable)oSheet.PivotTables().Add(oPivotCache, oRange2, "PivotTable");
Excel.PivotField oPivotField = (Excel.PivotField)oPivoTable.PivotFields("2_1");
oPivotField.set_Subtotals(1, false);
oPivotField.Orientation = Excel.XlPivotFieldOrientation.xlRowField;
oPivotField.Position = 1;
Excel.PivotField InnoPivotField = (Excel.PivotField)oPivoTable.PivotFields("5");
InnoPivotField.set_Subtotals(1, false);//Убирает промежуточные итоги
InnoPivotField.Orientation = Excel.XlPivotFieldOrientation.xlRowField;
Excel.PivotField RVPSPivotField = (Excel.PivotField)oPivoTable.PivotFields("27");
RVPSPivotField.set_Subtotals(1, false);
RVPSPivotField.Orientation = Excel.XlPivotFieldOrientation.xlDataField;
RVPSPivotField.Function = Excel.XlConsolidationFunction.xlSum;
oPivoTable.RowAxisLayout(Excel.XlLayoutRowType.xlTabularRow); //Табличный вид