Use letters instead of numbers in spreadsheet headers for columns

Other

by Flexmonster Pivot Table

HTML

<script src="https://cdn.flexmonster.com/flexmonster.js"></script>

<div id="pivot-container"></div>

CSS

@import url(https://cdn.flexmonster.com/assets/jsfiddle-styles.css);

JavaScript

const pivot = new Flexmonster({
  container: "pivot-container",
  componentFolder: "https://cdn.flexmonster.com/",
  aftergriddraw: replaceColumnHeaders,
  report: {
    dataSource: {
      filename: "data/data.json"
    },
    slice: {
      rows: [
        {
          uniqueName: "Color"
        },
        {
          uniqueName: "[Measures]"
        }
      ],
      columns: [{
        uniqueName: "Country"
      }],
      measures: [{
        uniqueName: "Price"
      }]
    }
  }
});

function replaceColumnHeaders() {
  let columnHeaders = document.querySelectorAll(".fm-sheet-header[data-r='-1']");
  columnHeaders.forEach(header => {
    if (!isNaN(parseInt(header.innerText)))
      header.innerText = numberToLetter(header.innerText);
  });
}

function numberToLetter(number) {
  number = number % 26;
  if(number == 0) number = 26;
  let letter = String.fromCharCode(64 + number);
  return letter;
}