JSFiddle - React, Tailwind, and code Playground
by luamelo
HTML
<a href="javascript:;" id="btn">DOWNLOAD JSON</a>
<div id="dvjson"></div>
JavaScript
(function ($) {
var $defaults = {
containerid: null
, datatype: 'table'
, dataset: null
, columns: null
, returnUri: false
, worksheetName: "My Worksheet"
, encoding: "utf-8"
};
var $settings = $defaults;
$.fn.excelexportjs = function (options) {
$settings = $.extend({}, $defaults, options);
var gridData = [];
var excelData;
return Initialize();
function Initialize() {
var type = $settings.datatype.toLowerCase();
BuildDataStructure(type);
switch (type) {
case 'table':
excelData = Export(ConvertFromTable());
break;
case 'json':
excelData = Export(ConvertDataStructureToTable());
break;
case 'xml':
excelData = Export(ConvertDataStructureToTable());
break;
case 'jqgrid':
excelData = Export(ConvertDataStructureToTable());
break;
}
if ($settings.returnUri){
return excelData;
}else{
if (!isBrowserIE()){
window.open(excelData);
}
}
}
function BuildDataStructure(type) {
switch (type) {
case 'table':
break;
case 'json':
gridData = $settings.dataset;
break;
case 'xml':
$($settings.dataset).find("row").each(function (key, value) {
var item = {};
if (this.attributes != null && this.attributes.length > 0) {
$(this.attributes).each(function () {
item[this.name] = this.value;
});
...