Я уже пробовал подход "PivotFieldType.Column". Он не работает, потому что лист Excel с исходными данными выглядит так, как показано ниже.
Лист Excel: входные данные
Название компании FundsinUse LastDayCash
- Моя компания АА -33848 37
- Моя компания АА -33848 37
- Моя компания АА -33848 37
- Моя компания BB 2188,75 55,5
- Моя компания BB 2188,75 55,5
- Моя компания BB 2188,75 55,5
- Моя компания BB 2188,75 55,5
=======================
Я создаю сводную таблицу из этого листа «Входные данные», и сгенерированный Excel выглядит следующим образом:
Row Labels
My Company AA FundsinUse -101544
LastDayCash 111
My Company BB FundsinUse 8755
LastDayCash 222
Я хотел бы получить вывод, как показано ниже:
Row Labels FundsinUse LastDayCash
My Company AA -101544 111
My Company BB 8755 222
Пожалуйста, помогите мне реализовать «Перетаскивание в столбец» в полях данных с помощью С#.
Образец кода
string sourceData = string.Format("='Input Data'!A1:BU{0}", totalRows + 1);
int indexOfFirstSheet = workbookDesigner.Workbook.Worksheets["FirstSheet"].Index;
Worksheet newWS = workbookDesigner.Workbook.Worksheets.Insert(indexOfFirstSheet + 1, SheetType.Worksheet, "My Pivot Sheet");
PivotTableCollection pivotTablesColl = newWS.PivotTables;
int index = pivotTablesColl.Add(sourceData, "A3", "My Pivot");
PivotTable pt = pivotTablesColl[index];
pt.RowGrand = true;
pt.ColumnGrand = true;
//Row field
pt.AddFieldToArea(PivotFieldType.Row, "Company Name");
// Data fields
pt.AddFieldToArea(PivotFieldType.Data, "FundsinUse");
pt.AddFieldToArea(PivotFieldType.Data, "LastDayCash");
PivotField fundsinUse = pt.DataFields[0];
fundsinUse.DragToColumn = true;