title: How can I change the format of the ColumnField column headings in EPPlus?
body: <p>I create a column field in EPPlus like so:</p>
  
  <pre><code>// Column field[s]
  var monthYrColField = pivotTable.Fields["MonthYr"];
  pivotTable.ColumnFields.Add(monthYrColField);
  </code></pre>
  
  <p>...that displays like so (the "201509" and "201510" columns):</p>
  
  <p><a href="https://i.stack.imgur.com/zrLa4.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/zrLa4.png" alt="enter image description here"></a></p>
  
  <p>I want those values to display instead as "Sep 15" and "Oct 15"</p>
  
  <p>In Excel Interop it's done like this:</p>
  
  <pre><code>var monthField = pvt.PivotFields("MonthYr");
  monthField.Orientation = XlPivotFieldOrientation.xlColumnField;
  monthField.NumberFormat = "MMM yy";
  </code></pre>
  
  <p>...but in EPPlus the corresponding variable (monthYrColField) has no "NumberFormat" (or "Style") member.</p>
  
  <p>I tried this:</p>
  
  <pre><code>pivotTableWorksheet.Column(2).Style.Numberformat.Format = "MMM yy";
  </code></pre>
  
  <p>...but, while it didn't complain or wreak havoc, also did not change the vals from "201509" and "201510"</p>
  
  <p>How can I change the format of my ColumnField column headings in EPPlus from "untransformed" to "MMM yy" format? </p>
  
  <h2>UPDATE</h2>
  
  <p>For VDWWD:</p>
  
  <p>As you can see by the comments, there are many things related to PivotTables which don't work or are hard to get to work in EPPlus; Excel Interop is a bear (and not a teddy or a Koala, but more like a grizzly) compared to EPPlus, but as to PivotTables, it seems that EPPlus is kind of half-baked to compared to Exterop's fried-to-a-crispness.</p>
  
  <pre><code>private void PopulatePivotTableSheet()
  {
      string NORTHWEST_CORNER_OF_PIVOT_TABLE = "A6";
      AddPrePivotTableDataToPivotTableSheet();
      var dataRange = pivotDataWorksheet.Cells[pivotDataWorksheet.Dimension.Address];
      dataRange.AutoFitColumns();
      var pivotTable = pivotTableWorksheet.PivotTables.Add(
                          pivotTableWorksheet.Cells[NORTHWEST_CORNER_OF_PIVOT_TABLE], 
                          dataRange, 
                          "PivotTable");
      pivotTable.MultipleFieldFilters = true;
      pivotTable.GridDropZones = false;
      pivotTable.Outline = false;
      pivotTable.OutlineData = false;
      pivotTable.ShowError = true;
      pivotTable.ErrorCaption = "[error]";
      pivotTable.ShowHeaders = true;
      pivotTable.UseAutoFormatting = true;
      pivotTable.ApplyWidthHeightFormats = true;
      pivotTable.ShowDrill = true;
  
      // Row field[s]
      var descRowField = pivotTable.Fields["Description"];
      pivotTable.RowFields.Add(descRowField);
  
      // Column field[s]
      var monthYrColField = pivotTable.Fields["MonthYr"];
      pivotTable.ColumnFields.Add(monthYrColField);
  
      // Data field[s]
      var totQtyField = pivotTable.Fields["TotalQty"];
      pivotTable.DataFields.Add(totQtyField);
  
      var totPriceField = pivotTable.Fields["TotalPrice"];
      pivotTable.DataFields.Add(totPriceField);
  
      // Don't know how to calc these vals here, so had to put them on the data sheet
      var avgPriceField = pivotTable.Fields["AvgPrice"];
      pivotTable.DataFields.Add(avgPriceField);
  
      var prcntgOfTotalField = pivotTable.Fields["PrcntgOfTotal"];
      pivotTable.DataFields.Add(prcntgOfTotalField);
  
      // TODO: Get the sorting (by sales, descending) working:
      // These two lines don't seem that they would do so, but they do result in the items 
      // being sorted by (grand) total purchases descending
      //var fld = ((PivotField)pvt.PivotFields("Description"));
      //fld.AutoSort(2, "Total Purchases");
      //int dataCnt = pivotTable.ra //DataBodyRange.Columns.Count + 1;
  
      FormatPivotTable();
  }
  
  private void FormatPivotTable()
  {
      int HEADER_ROW = 7;
  
      if (DateTimeFormatInfo.CurrentInfo != null)
          pivotTableWorksheet.Column(2).Style.Numberformat.Format = 
              DateTimeFormatInfo.CurrentInfo.YearMonthPattern;
      // Pivot Table Header Row - bold and increase height
      using (var headerRowFirstCell = pivotTableWorksheet.Cells[HEADER_ROW, 1])
      {
          headerRowFirstCell.Style.VerticalAlignment = ExcelVerticalAlignment.Center;
          headerRowFirstCell.Style.Font.Bold = true;
          headerRowFirstCell.Style.Font.Size = 12;
          pivotTableWorksheet.Row(HEADER_ROW).Height = 25;
      }
  
      ColorizeContractItemBlocks(contractItemDescs);
      // TODO: Why is the hiding not working?
      HideItemsWithFewerThan1PercentOfSales();
  }
  </code></pre>