JSFiddle - React, Tailwind, and code Playground

by Flexmonster Pivot Table

HTML

<link rel="stylesheet" href="https://s3.amazonaws.com/flexmonster/2.3/demo.css">
<script src="https://cdn.flexmonster.com/flexmonster.js"></script>

<div id="pivotContainer"></div>

JavaScript

var pivot = new Flexmonster({
  container: "pivotContainer",
  componentFolder: "https://cdn.flexmonster.com/",
  toolbar: true,
  report: {
    dataSource: {
      filename: "data/data.csv"
    }
  },
  beforetoolbarcreated: customizeToolbar
});

function exportHandler(params) {
  pivot.exportTo(params.type, params.config)
}

function customizeToolbar(toolbar) {
  var tabs = toolbar.getTabs();
  toolbar.getTabs = function() {
    tabs[3].menu[1].handler = exportHandler;
    tabs[3].menu[1].args = {
      type: 'html',
      config: {
        filename: 'Custom filename for HTML'
      }
    }
    tabs[3].menu[2].handler = exportHandler;
    tabs[3].menu[2].args = {
      type: 'csv',
      config: {
        filename: 'Custom filename for CSV'
      }
    }
    tabs[3].menu[3].handler = exportHandler;
    tabs[3].menu[3].args = {
      type: 'excel',
      config: {
        filename: 'Custom filename for Excel',
        header: 'First header row\nSecond header row'
      }
    }
    tabs[3].menu[4].handler = exportHandler;
    tabs[3].menu[4].args = {
      type: 'image',
      config: {
        filename: 'Custom filename for Image'
      }
    }
    tabs[3].menu[5].handler = exportHandler;
    tabs[3].menu[5].args = {
      type: 'pdf',
      config: {
        filename: 'Custom filename for PDF'
      }
    }
    return tabs;
  }
}