Как изменить формат заголовков столбцов ColumnField в EPPlus?

Я создаю поле столбца в EPPlus следующим образом:

// Column field[s] var monthYrColField = pivotTable.Fields["MonthYr"]; pivotTable.ColumnFields.Add(monthYrColField); 

… который отображается так (столбцы «201509» и «201510»):

введите описание изображения здесь

Я хочу, чтобы эти значения отображались вместо них как «Сен 15» и «15 октября»,

В Excel Interop это делается следующим образом:

 var monthField = pvt.PivotFields("MonthYr"); monthField.Orientation = XlPivotFieldOrientation.xlColumnField; monthField.NumberFormat = "MMM yy"; 

… но в EPPlus соответствующая переменная (monthYrColField) не имеет члена «NumberFormat» (или «Style»).

Я попробовал это:

 pivotTableWorksheet.Column(2).Style.Numberformat.Format = "MMM yy"; 

… но, хотя он не жаловался или не наносил хаос, также не менял валов с «201509» и «201510»,

Как изменить формат заголовков столбцов ColumnField в EPPlus из формата «нетрансформированный» в «MMM yy»?

ОБНОВИТЬ

Для VDWWD:

Как вы можете видеть по комментариям, есть много вещей, связанных с сводными таблицами, которые не работают или трудно работать в EPPlus; Excel Interop – это медведь (а не плюшевый или коала, но скорее похожий на гризли) по сравнению с EPPlus, но что касается сводных таблиц, похоже, что EPPlus наполовину испечен по сравнению с обжаренным до кристалла Exterop ,

 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(); } 

Вы можете использовать встроенный формат даты YearMonthPattern . который дал бы формат september 2016 .

 pivotTableWorksheet.Column(2).Style.Numberformat.Format = DateTimeFormatInfo.CurrentInfo.YearMonthPattern; 

Если вы действительно хотите MMM yy как шаблон, вам нужно перезаписать формат культуры:

 Thread.CurrentThread.CurrentCulture = new CultureInfo("nl-NL") { DateTimeFormat = { YearMonthPattern = "MMM yy" } }; pivotTableWorksheet.Column(2).Style.Numberformat.Format = DateTimeFormatInfo.CurrentInfo.YearMonthPattern; 
  • Как я могу переопределить текст метки столбца в сводной таблице (ячейки для определения)?
  • Как я могу заменить автоматически генерируемые великие общие значения на разные (Aspose Cells)?
  • Можно ли использовать сводную таблицу в пользовательской форме?
  • Программно исключить элементы страницы в оси olap
  • Вычисление разницы между количеством двух полей даты
  • Таблица сводных данных Excel: переместить поля значений из строки в столбец
  • Подсчет дублирующих данных, которые удовлетворяют условиям и удаляют данные
  • Проблема с таблицей сводной таблицы Excel / Иерархия строк
  • Таблица сводных таблиц Excel в подстроках
  • Как я могу предоставить вычисленное значение, основанное на двух других значениях в сводной таблице Aspose.Cells?
  • Как я могу включить сводную таблицу прямо в исходные данные на листе (используя EPPlus)?
  • Interesting Posts

    Обновление надстройки Excel 2010 до офиса 2016

    Уникальные значения в Excel

    Регулируемая задержка макроса (путем ввода времени в ячейке)

    Удаление подменю из командной строки

    Формула Excel IF с 7 различными возможными переменными

    Excel – если контроль истины, тогда цикл не последовательных переменных

    Проблемы с сопоставлением значения даты, хранящегося в label.caption vs. now

    Как импортировать данные сетки в таблицу базы данных PhpmyAdmin

    Импорт электронной таблицы, но проблема

    Есть ли ограничение на элементы списка в выпадающем списке ячейки Excel с помощью VSTO C #?

    Впервые написав скрипт, не уверен, какой язык использовать (синтаксический анализ excel и других файлов)

    (Двойной монитор) Управление местоположением монитора экземпляров Excel

    Самый простой способ перекрестной ссылки на файл CSV с текстовым файлом для общих строк

    если третья буква равна

    Таблица SQL в CSV-файле показывает NULL строки как «& nbsp;» в Excel – RESOLVED

    Давайте будем гением компьютера.