JSFiddle - React, Tailwind, and code Playground

Export and print

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>

<button onclick="exportExcel()">Export to Excel</button>

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

JavaScript

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

function customizeToolbar(toolbar) {
  let tabs = toolbar.getTabs();
  toolbar.getTabs = function() {
    let exportTab = tabs.find(tab => tab.id == "fm-tab-export");
    if (!exportTab) return tabs;
    let exportToExcelTab = exportTab.menu.find(tab => tab.id == "fm-tab-export-excel");
    exportToExcelTab.handler = exportExcel
    return tabs;
  }
}


function exportExcel() {
  pivot.exportTo("excel", { useCustomizeCellForData: false })
}

function customizeCelLFunction(cell, data) {
  if (data.type === "value" && data.value) {
    const formatter = new Intl.NumberFormat("en-IN")
    cell.text = formatter.format(data.value)
  }
}