Документация по этим элементам не совсем кристально чиста, но после небольшого разбора, проб и ошибок похоже, что вы хотите получить свойство PivotTable.VisibleFields
, которое вам нужно привести к объекту PivotFields
, чтобыитерации:
Excel.PivotFields vFields = (Excel.PivotFields)pivotTable.VisibleFields;
Это даст вам все видимые поля в таблице (в отличие от PivotTable.PivotFields()
, который, кажется, только дает столбец меток строк и исходные данные).Возможно, вам придется проверить значение каждого из них, прежде чем устанавливать формат чисел, в противном случае я думаю, что он будет применять его ко всему в таблице, что может быть не тем, что вы хотите:
foreach (Excel.PivotField pf in vFields)
{
if (pf.DataType == Excel.XlPivotFieldDataType.xlNumber
& pf.Value == "Sum of Price")
{
pf.NumberFormat = "#,##0.00";
}
}
Если вы хотитев частности, вы попадаете в одну ячейку, затем вы можете получить доступ к PivotField.PivotItems
и просмотреть их для каждого PivotField
объекта:
Excel.PivotItems pi = (Excel.PivotItems)pf.PivotItems();
Но я думаю, что большинство свойств PivotItem
доступны только для чтения.