diff --git a/JsonExcel.vue b/JsonExcel.vue index fd04dd4..583aabe 100644 --- a/JsonExcel.vue +++ b/JsonExcel.vue @@ -42,6 +42,12 @@ export default { header: { default: null, }, + + // Title(s) for single column data, must be an array (ex: ['titleCol0',,TitleCol2]) + perColumnsHeaders: { + default: null, + }, + // Footer(s) for the data, could be a string or an array of strings (multiple footers) footer: { default: null, @@ -158,6 +164,16 @@ export default { ); } + // perColumnsHeaders + const perColumnsHeaders = this.perColumnsHeaders; + if(Array.isArray(perColumnsHeaders)) { + xlsData += ""; + for (let pchKey in perColumnsHeaders) { + xlsData += "" + perColumnsHeaders[pchKey] + ""; + } + xlsData += ""; + } + //Fields xlsData += ""; for (let key in data[0]) { @@ -211,6 +227,17 @@ export default { csvData.push(this.parseExtraData(header, "${data}\r\n")); } + // perColumnsHeaders + const perColumnsHeaders = this.perColumnsHeaders; + if(Array.isArray(perColumnsHeaders)) { + for (let pchKey in perColumnsHeaders) { + csvData.push(perColumnsHeaders[pchKey]); + csvData.push(","); + } + csvData.pop(); + csvData.push("\r\n"); + } + //Fields for (let key in data[0]) { csvData.push(key); diff --git a/dist/vue-json-excel.cjs.js b/dist/vue-json-excel.cjs.js index 48b0d55..45278a1 100644 --- a/dist/vue-json-excel.cjs.js +++ b/dist/vue-json-excel.cjs.js @@ -207,6 +207,10 @@ var script = { header: { default: null, }, + // Title(s) for single column data, must be an array (ex: ['titleCol0',,TitleCol2]) + perColumnsHeaders: { + default: null, + }, // Footer(s) for the data, could be a string or an array of strings (multiple footers) footer: { default: null, @@ -323,6 +327,16 @@ var script = { ); } + // perColumnsHeaders + const perColumnsHeaders = this.perColumnsHeaders; + if(Array.isArray(perColumnsHeaders)) { + xlsData += ""; + for (let pchKey in perColumnsHeaders) { + xlsData += "" + perColumnsHeaders[pchKey] + ""; + } + xlsData += ""; + } + //Fields xlsData += ""; for (let key in data[0]) { @@ -376,6 +390,17 @@ var script = { csvData.push(this.parseExtraData(header, "${data}\r\n")); } + // perColumnsHeaders + const perColumnsHeaders = this.perColumnsHeaders; + if(Array.isArray(perColumnsHeaders)) { + for (let pchKey in perColumnsHeaders) { + csvData.push(perColumnsHeaders[pchKey]); + csvData.push(","); + } + csvData.pop(); + csvData.push("\r\n"); + } + //Fields for (let key in data[0]) { csvData.push(key); diff --git a/dist/vue-json-excel.esm.js b/dist/vue-json-excel.esm.js index 2d9535d..2599826 100644 --- a/dist/vue-json-excel.esm.js +++ b/dist/vue-json-excel.esm.js @@ -205,6 +205,10 @@ var script = { header: { default: null, }, + // Title(s) for single column data, must be an array (ex: ['titleCol0',,TitleCol2]) + perColumnsHeaders: { + default: null, + }, // Footer(s) for the data, could be a string or an array of strings (multiple footers) footer: { default: null, @@ -321,6 +325,16 @@ var script = { ); } + // perColumnsHeaders + const perColumnsHeaders = this.perColumnsHeaders; + if(Array.isArray(perColumnsHeaders)) { + xlsData += ""; + for (let pchKey in perColumnsHeaders) { + xlsData += "" + perColumnsHeaders[pchKey] + ""; + } + xlsData += ""; + } + //Fields xlsData += ""; for (let key in data[0]) { @@ -374,6 +388,17 @@ var script = { csvData.push(this.parseExtraData(header, "${data}\r\n")); } + // perColumnsHeaders + const perColumnsHeaders = this.perColumnsHeaders; + if(Array.isArray(perColumnsHeaders)) { + for (let pchKey in perColumnsHeaders) { + csvData.push(perColumnsHeaders[pchKey]); + csvData.push(","); + } + csvData.pop(); + csvData.push("\r\n"); + } + //Fields for (let key in data[0]) { csvData.push(key); diff --git a/dist/vue-json-excel.umd.js b/dist/vue-json-excel.umd.js index bd2c0dc..d4190af 100644 --- a/dist/vue-json-excel.umd.js +++ b/dist/vue-json-excel.umd.js @@ -210,7 +210,11 @@ // Title(s) for the data, could be a string or an array of strings (multiple titles) header: { default: null, - }, + }, + // Title(s) for single column data, must be an array (ex: ['titleCol0',,TitleCol2]) + perColumnsHeaders: { + default: null, + }, // Footer(s) for the data, could be a string or an array of strings (multiple footers) footer: { default: null, @@ -325,7 +329,17 @@ header, '${data}' ); - } + } + + // perColumnsHeaders + const perColumnsHeaders = this.perColumnsHeaders; + if(Array.isArray(perColumnsHeaders)) { + xlsData += ""; + for (let pchKey in perColumnsHeaders) { + xlsData += "" + perColumnsHeaders[pchKey] + ""; + } + xlsData += ""; + } //Fields xlsData += ""; @@ -378,7 +392,18 @@ const header = this.header || this.$attrs.title; if (header) { csvData.push(this.parseExtraData(header, "${data}\r\n")); - } + } + + // perColumnsHeaders + const perColumnsHeaders = this.perColumnsHeaders; + if(Array.isArray(perColumnsHeaders)) { + for (let pchKey in perColumnsHeaders) { + csvData.push(perColumnsHeaders[pchKey]); + csvData.push(","); + } + csvData.pop(); + csvData.push("\r\n"); + } //Fields for (let key in data[0]) {