1

I have been struggling with Javascript array data to put it in excel on the client side. I have read this,How to export JavaScript array info to csv (on client side)?

But that is for CSV. I want Excel.

kimoduor
  • 375
  • 4
  • 12

2 Answers2

2

I got a good answer. It may help someone out there

function excelformat() {
        var result_table = [
            ["Day", "Month", "Year"],
            ["1", "January", "2016"],
            ["2", "February", "2016"],
            ["3", "March", "2016"],
            ["4", "April", "2016"],
        ];
        var lineArray = [];
        result_table.forEach(function(infoArray, index) {
            var line = infoArray.join(" \t");
            lineArray.push(index == 0 ? line : line);
        });
        var csvContent = lineArray.join("\r\n");
        var excel_file = document.createElement('a');
        excel_file.setAttribute('href', 'data:application/vnd.ms-excel;charset=utf-8,' + encodeURIComponent(csvContent));
        excel_file.setAttribute('download', 'Visitor_History.xls');
        document.body.appendChild(excel_file);
        excel_file.click();
        document.body.removeChild(excel_file);
    }
kimoduor
  • 375
  • 4
  • 12
0

You can also use the package fs-browsers.
It has nice and easy export method for xls files.
It goes like this:

import { exportFile, EXCEL_FILE } from 'fs-browsers';
const result_table = [
        ["1", "January", "2016"],
        ["2", "February", "2016"],
        ["3", "March", "2016"],
        ["4", "April", "2016"],
    ];
const headings = ["Day", "Month", "Year"];
exportFile(result_table, { type: EXCEL_FILE, headings: headings });
Itamar Smirra
  • 86
  • 1
  • 5