Hope! I have multiple instances of Pivot, each with its own export option in the toolbar. I need a way to export all the Excel files together into a single file. I'm using Flexmonster inside Vue.js. When I click the export button, I need to merge the Excel files of all pivots into a single one.
htp.prn('<section class="mt-8">');
htp.prn('<app-flexmonster ');
htp.prn(':report="provision.config"');
htp.prn(':toolbar="toolbarVisibility"');
htp.prn(':height="provision.height"');
htp.prn('>');
htp.prn('</app-flexmonster>');
htp.prn('</section>');
htp.prn('<section class="mt-8">');
htp.prn('<app-flexmonster ');
htp.prn(':report="reversal.config"');
htp.prn(':toolbar="toolbarVisibility"');
htp.prn(':height="reversal.height"');
htp.prn('>');
htp.prn('</app-flexmonster>');
htp.prn('</section>');
htp.prn('<section class="mt-8">');
htp.prn('<app-flexmonster ');
htp.prn(':report="provisionMinusReversal.config"');
htp.prn(':toolbar="toolbarVisibility"');
htp.prn(':height="provisionMinusReversal.height"');
htp.prn('>');
htp.prn('</app-flexmonster>');
htp.prn('</section>');
htp.prn('<section class="mt-8">');
htp.prn('<app-flexmonster ');
htp.prn(':report="billing.config"');
htp.prn(':toolbar="toolbarVisibility"');
htp.prn(':height="billing.height"');
htp.prn('>');
htp.prn('</app-flexmonster>');
htp.prn('</section>');
htp.prn('<section class="mt-8">');
htp.prn('<app-flexmonster ');
htp.prn(':report="adminCancellation.config"');
htp.prn(':toolbar="toolbarVisibility"');
htp.prn(':height="adminCancellation.height"');
htp.prn('>');
htp.prn('</app-flexmonster>');
htp.prn('</section>');
htp.prn('<section class="mt-8">');
htp.prn('<app-flexmonster ');
htp.prn(':report="grossIncolmeColt.config"');
htp.prn(':toolbar="toolbarVisibility"');
htp.prn(':height="grossIncolmeColt.height"');
htp.prn('>');
htp.prn('</app-flexmonster>');
htp.prn('</section>');
htp.prn('<section class="mt-8">');
htp.prn('<app-flexmonster ');
htp.prn(':report="defer.config"');
htp.prn(':toolbar="toolbarVisibility"');
htp.prn(':height="defer.height"');
htp.prn('>');
htp.prn('</app-flexmonster>');
htp.prn('</section>');
htp.prn('<section class="mt-8">');
htp.prn('<app-flexmonster ');
htp.prn(':report="coltGrossRevenueWithDefer.config"');
htp.prn(':toolbar="toolbarVisibility"');
htp.prn(':height="coltGrossRevenueWithDefer.height"');
htp.prn('>');
htp.prn('</app-flexmonster>');
htp.prn('</section>');
htp.prn('class Provision {');
htp.prn('height = 450;');
htp.prn('constructor (store) {');
htp.prn('const showIss = store.filter.fields.showIss.value ?? null;');
htp.prn('this.config = {');
htp.prn('"dataSource": {');
htp.prn('data: store.results.provisions_arr,');
htp.prn('type: ''json'',');
htp.prn('mapping: {');
htp.prn('type: {');
htp.prn('caption: i18next.t(''monthly-closing:table.type''),');
htp.prn('type: "string",');
htp.prn('},');
htp.prn('economicGroup: {');
htp.prn('caption: i18next.t(''monthly-closing:table.economicGroup''),');
htp.prn('type: "string",');
htp.prn('},');
htp.prn('projectName: {');
htp.prn('caption: i18next.t(''monthly-closing:table.project''),');
htp.prn('type: "string",');
htp.prn('},');
htp.prn('monthYear: { caption: i18next.t(''monthly-closing:table.month-year''), type: "string", format: "YYYYMM" }');
htp.prn('},');
htp.prn('},');
htp.prn('slice: {');
htp.prn('rows: [');
htp.prn('{');
htp.prn('uniqueName: "type",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "economicGroup",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "projectName",');
htp.prn('},');
htp.prn('],');
htp.prn('columns: [');
htp.prn('{');
htp.prn('uniqueName: "monthYear",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "[Measures]",');
htp.prn('},');
htp.prn('],');
htp.prn('measures: MeasuresHelper.getProvisionMeasures(showIss),');
htp.prn('},');
htp.prn('"formats": [');
htp.prn('{');
htp.prn('"name": "RealFormat",');
htp.prn('"thousandsSeparator": ".",');
htp.prn('"decimalSeparator": ",",');
htp.prn('"decimalPlaces": 2,');
htp.prn('"currencySymbol": "",');
htp.prn('"currencySymbolAlign": "left",');
htp.prn('nullValue: "0,00",');
htp.prn('"textAlign": "right",');
htp.prn('"isPercent": false');
htp.prn('},');
htp.prn('{');
htp.prn('"name": "PercentFormat",');
htp.prn('"decimalPlaces": 2,');
htp.prn('"currencySymbolAlign": "left",');
htp.prn('nullValue: "0,00",');
htp.prn('"textAlign": "right",');
htp.prn('"isPercent": true');
htp.prn('}');
htp.prn('],');
htp.prn('options: {');
htp.prn('showAggregationLabels: false,');
htp.prn('grid: {');
htp.prn('type: "compact",');
htp.prn('title: i18next.t(''monthly-closing:table.provision'')');
htp.prn('},');
htp.prn('},');
htp.prn('};');
htp.prn('}');
htp.prn('}');
htp.prn('class Reversal {');
htp.prn('height = 450;');
htp.prn('constructor (store) {');
htp.prn('const showIss = store.filter.fields.showIss.value ?? null;');
htp.prn('this.config = {');
htp.prn('"dataSource": {');
htp.prn('data: store.results.reversals_arr,');
htp.prn('type: ''json'',');
htp.prn('mapping: {');
htp.prn('type: {');
htp.prn('caption: i18next.t(''monthly-closing:table.type''),');
htp.prn('type: "string",');
htp.prn('},');
htp.prn('economicGroup: {');
htp.prn('caption: i18next.t(''monthly-closing:table.economicGroup''),');
htp.prn('type: "string",');
htp.prn('},');
htp.prn('projectName: {');
htp.prn('caption: i18next.t(''monthly-closing:table.project''),');
htp.prn('type: "string",');
htp.prn('},');
htp.prn('monthYear: { caption: i18next.t(''monthly-closing:table.month-year''), type: "string", format: "YYYYMM" }');
htp.prn('},');
htp.prn('},');
htp.prn('slice: {');
htp.prn('rows: [');
htp.prn('{');
htp.prn('uniqueName: "type",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "economicGroup",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "projectName",');
htp.prn('},');
htp.prn('],');
htp.prn('columns: [');
htp.prn('{');
htp.prn('uniqueName: "monthYear",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "[Measures]",');
htp.prn('},');
htp.prn('],');
htp.prn('measures: MeasuresHelper.getProvisionMeasures(showIss),');
htp.prn('},');
htp.prn('"formats": [');
htp.prn('{');
htp.prn('"name": "RealFormat",');
htp.prn('"thousandsSeparator": ".",');
htp.prn('"decimalSeparator": ",",');
htp.prn('"decimalPlaces": 2,');
htp.prn('"currencySymbol": "",');
htp.prn('"currencySymbolAlign": "left",');
htp.prn('nullValue: "0,00",');
htp.prn('"textAlign": "right",');
htp.prn('"isPercent": false');
htp.prn('},');
htp.prn('{');
htp.prn('"name": "PercentFormat",');
htp.prn('"decimalPlaces": 2,');
htp.prn('"currencySymbolAlign": "left",');
htp.prn('nullValue: "0,00",');
htp.prn('"textAlign": "right",');
htp.prn('"isPercent": true');
htp.prn('}');
htp.prn('],');
htp.prn('options: {');
htp.prn('showAggregationLabels: false,');
htp.prn('grid: {');
htp.prn('type: "compact",');
htp.prn('title: i18next.t(''monthly-closing:table.reversal'')');
htp.prn('},');
htp.prn('},');
htp.prn('}');
htp.prn('}');
htp.prn('}');
htp.prn('class ProvisionMinusReversal {');
htp.prn('height = 290;');
htp.prn('constructor (store) {');
htp.prn('const showIss = store.filter.fields.showIss.value ?? null;');
htp.prn('this.config = {');
htp.prn('"dataSource": {');
htp.prn('data: store.results.provisions_minus_reversals_arr,');
htp.prn('type: ''json'',');
htp.prn('mapping: {');
htp.prn('"monthYear": { caption: i18next.t(''monthly-closing:table.month-year''), type: "string", format: "YYYYMM" }');
htp.prn('},');
htp.prn('},');
htp.prn('slice: {');
htp.prn('rows: [');
htp.prn('],');
htp.prn('columns: [');
htp.prn('{');
htp.prn('uniqueName: "monthYear",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "[Measures]",');
htp.prn('},');
htp.prn('],');
htp.prn('measures: MeasuresHelper.getProvisionMeasures(showIss),');
htp.prn('},');
htp.prn('"formats": [');
htp.prn('{');
htp.prn('"name": "RealFormat",');
htp.prn('"thousandsSeparator": ".",');
htp.prn('"decimalSeparator": ",",');
htp.prn('"decimalPlaces": 2,');
htp.prn('"currencySymbol": "",');
htp.prn('"currencySymbolAlign": "left",');
htp.prn('nullValue: "0,00",');
htp.prn('"textAlign": "right",');
htp.prn('"isPercent": false');
htp.prn('},');
htp.prn('{');
htp.prn('"name": "PercentFormat",');
htp.prn('"decimalPlaces": 2,');
htp.prn('"currencySymbolAlign": "left",');
htp.prn('nullValue: "0,00",');
htp.prn('"textAlign": "right",');
htp.prn('"isPercent": true');
htp.prn('}');
htp.prn('],');
htp.prn('options: {');
htp.prn('showAggregationLabels: false,');
htp.prn('grid: {');
htp.prn('type: "compact",');
htp.prn('title: i18next.t(''monthly-closing:table.total-provision''),');
htp.prn('showGrandTotals: "off",');
htp.prn('},');
htp.prn('},');
htp.prn('}');
htp.prn('}');
htp.prn('}');
htp.prn('class Billing {');
htp.prn('height = 450;');
htp.prn('constructor (store) {');
htp.prn('const showIss = store.filter.fields.showIss.value ?? null;');
htp.prn('this.config = {');
htp.prn('"dataSource": {');
htp.prn('data: store.results.billings_arr,');
htp.prn('type: ''json'',');
htp.prn('mapping: {');
htp.prn('subsidiary: {');
htp.prn('caption: ''Filial / CNPJ'',');
htp.prn('type: "string",');
htp.prn('},');
htp.prn('service: {');
htp.prn('caption: i18next.t(''monthly-closing:table.type''),');
htp.prn('type: "string",');
htp.prn('},');
htp.prn('economicsGroup: {');
htp.prn('caption: i18next.t(''monthly-closing:table.economicGroup''),');
htp.prn('type: "string",');
htp.prn('},');
htp.prn('projectsName: {');
htp.prn('caption: i18next.t(''monthly-closing:table.project''),');
htp.prn('type: "string",');
htp.prn('},');
htp.prn('monthYear: { caption: i18next.t(''monthly-closing:table.month-year''), type: "string", format: "YYYYMM" }');
htp.prn('},');
htp.prn('},');
htp.prn('slice: {');
htp.prn('rows: [');
htp.prn('{');
htp.prn('uniqueName: "subsidiary",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "service",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "economicsGroup",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "projectsName",');
htp.prn('},');
htp.prn('],');
htp.prn('columns: [');
htp.prn('{');
htp.prn('uniqueName: "monthYear",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "[Measures]",');
htp.prn('},');
htp.prn('],');
htp.prn('measures: MeasuresHelper.getProvisionMeasures(showIss),');
htp.prn('},');
htp.prn('"formats": [');
htp.prn('{');
htp.prn('"name": "RealFormat",');
htp.prn('"thousandsSeparator": ".",');
htp.prn('"decimalSeparator": ",",');
htp.prn('"decimalPlaces": 2,');
htp.prn('"currencySymbol": "",');
htp.prn('"currencySymbolAlign": "left",');
htp.prn('nullValue: "0,00",');
htp.prn('"textAlign": "right",');
htp.prn('"isPercent": false');
htp.prn('},');
htp.prn('{');
htp.prn('"name": "PercentFormat",');
htp.prn('"decimalPlaces": 2,');
htp.prn('"currencySymbolAlign": "left",');
htp.prn('nullValue: "0,00",');
htp.prn('"textAlign": "right",');
htp.prn('"isPercent": true');
htp.prn('}');
htp.prn('],');
htp.prn('options: {');
htp.prn('showAggregationLabels: false,');
htp.prn('grid: {');
htp.prn('type: "compact",');
htp.prn('title: i18next.t(''monthly-closing:table.income'')');
htp.prn('},');
htp.prn('},');
htp.prn('}');
htp.prn('}');
htp.prn('}');
htp.prn('class AdminCancellation {');
htp.prn('height = 450;');
htp.prn('constructor (store) {');
htp.prn('const showIss = store.filter.fields.showIss.value ?? null;');
htp.prn('this.config = {');
htp.prn('"dataSource": {');
htp.prn('data: store.results.admin_cancellations_arr,');
htp.prn('type: ''json'',');
htp.prn('mapping: {');
htp.prn('subsidiary: {');
htp.prn('caption: ''Filial / CNPJ'',');
htp.prn('type: "string",');
htp.prn('},');
htp.prn('service: {');
htp.prn('caption: i18next.t(''monthly-closing:table.type''),');
htp.prn('type: "string",');
htp.prn('},');
htp.prn('economicsGroup: {');
htp.prn('caption: i18next.t(''monthly-closing:table.economicGroup''),');
htp.prn('type: "string",');
htp.prn('},');
htp.prn('projectsName: {');
htp.prn('caption: i18next.t(''monthly-closing:table.project''),');
htp.prn('type: "string",');
htp.prn('},');
htp.prn('monthYear: { caption: i18next.t(''monthly-closing:table.month-year''), type: "string", format: "YYYYMM" }');
htp.prn('},');
htp.prn('},');
htp.prn('slice: {');
htp.prn('rows: [');
htp.prn('{');
htp.prn('uniqueName: "subsidiary",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "service",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "economicsGroup",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "projectsName",');
htp.prn('},');
htp.prn('],');
htp.prn('columns: [');
htp.prn('{');
htp.prn('uniqueName: "monthYear",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "[Measures]",');
htp.prn('},');
htp.prn('],');
htp.prn('measures: MeasuresHelper.getProvisionMeasures(showIss),');
htp.prn('},');
htp.prn('"formats": [');
htp.prn('{');
htp.prn('"name": "RealFormat",');
htp.prn('"thousandsSeparator": ".",');
htp.prn('"decimalSeparator": ",",');
htp.prn('"decimalPlaces": 2,');
htp.prn('"currencySymbol": "",');
htp.prn('"currencySymbolAlign": "left",');
htp.prn('nullValue: "0,00",');
htp.prn('"textAlign": "right",');
htp.prn('"isPercent": false');
htp.prn('},');
htp.prn('{');
htp.prn('"name": "PercentFormat",');
htp.prn('"decimalPlaces": 2,');
htp.prn('"currencySymbolAlign": "left",');
htp.prn('nullValue: "0,00",');
htp.prn('"textAlign": "right",');
htp.prn('"isPercent": true');
htp.prn('}');
htp.prn('],');
htp.prn('options: {');
htp.prn('showAggregationLabels: false,');
htp.prn('grid: {');
htp.prn('type: "compact",');
htp.prn('title: i18next.t(''monthly-closing:table.termination'')');
htp.prn('},');
htp.prn('},');
htp.prn('}');
htp.prn('}');
htp.prn('}');
htp.prn('class GrossIncolmeColt {');
htp.prn('height = 290;');
htp.prn('constructor (store) {');
htp.prn('const showIss = store.filter.fields.showIss.value ?? null;');
htp.prn('this.config = {');
htp.prn('"dataSource": {');
htp.prn('data: store.results.gross_incolme_colt_arr,');
htp.prn('type: ''json'',');
htp.prn('mapping: {');
htp.prn('monthYear: { caption: i18next.t(''monthly-closing:table.month-year''), type: "string", format: "YYYYMM" }');
htp.prn('},');
htp.prn('},');
htp.prn('slice: {');
htp.prn('rows: [');
htp.prn('],');
htp.prn('columns: [');
htp.prn('{');
htp.prn('uniqueName: "monthYear",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "[Measures]",');
htp.prn('},');
htp.prn('],');
htp.prn('measures: MeasuresHelper.getProvisionMeasures(showIss),');
htp.prn('},');
htp.prn('"formats": [');
htp.prn('{');
htp.prn('"name": "RealFormat",');
htp.prn('"thousandsSeparator": ".",');
htp.prn('"decimalSeparator": ",",');
htp.prn('"decimalPlaces": 2,');
htp.prn('"currencySymbol": "",');
htp.prn('"currencySymbolAlign": "left",');
htp.prn('nullValue: "0,00",');
htp.prn('"textAlign": "right",');
htp.prn('"isPercent": false');
htp.prn('},');
htp.prn('{');
htp.prn('"name": "PercentFormat",');
htp.prn('"decimalPlaces": 2,');
htp.prn('"currencySymbolAlign": "left",');
htp.prn('nullValue: "0,00",');
htp.prn('"textAlign": "right",');
htp.prn('"isPercent": true');
htp.prn('}');
htp.prn('],');
htp.prn('options: {');
htp.prn('showAggregationLabels: false,');
htp.prn('grid: {');
htp.prn('type: "compact",');
htp.prn('title: i18next.t(''monthly-closing:table.colt-gross-revenue''),');
htp.prn('showGrandTotals: "off",');
htp.prn('},');
htp.prn('},');
htp.prn('}');
htp.prn('}');
htp.prn('}');
htp.prn('class Defer {');
htp.prn('height = 450;');
htp.prn('constructor (store) {');
htp.prn('const showIss = store.filter.fields.showIss.value ?? null;');
htp.prn('this.config = {');
htp.prn('"dataSource": {');
htp.prn('data: store.results.defer_invoicing_made_arr,');
htp.prn('type: ''json'',');
htp.prn('mapping: {');
htp.prn('economicGroup: {');
htp.prn('caption: i18next.t(''monthly-closing:table.economicGroup''),');
htp.prn('type: "string",');
htp.prn('},');
htp.prn('projectName: {');
htp.prn('caption: i18next.t(''monthly-closing:table.project''),');
htp.prn('type: "string",');
htp.prn('},');
htp.prn('monthYear: { caption: i18next.t(''monthly-closing:table.month-year''), type: "string", format: "YYYYMM" }');
htp.prn('},');
htp.prn('},');
htp.prn('slice: {');
htp.prn('rows: [');
htp.prn('{');
htp.prn('uniqueName: "tipo",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "economicGroup",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "projectName",');
htp.prn('},');
htp.prn('],');
htp.prn('columns: [');
htp.prn('{');
htp.prn('uniqueName: "monthYear",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "[Measures]",');
htp.prn('},');
htp.prn('],');
htp.prn('measures: MeasuresHelper.getProvisionMeasures(showIss),');
htp.prn('},');
htp.prn('"formats": [');
htp.prn('{');
htp.prn('"name": "RealFormat",');
htp.prn('"thousandsSeparator": ".",');
htp.prn('"decimalSeparator": ",",');
htp.prn('"decimalPlaces": 2,');
htp.prn('"currencySymbol": "",');
htp.prn('"currencySymbolAlign": "left",');
htp.prn('nullValue: "0,00",');
htp.prn('"textAlign": "right",');
htp.prn('"isPercent": false');
htp.prn('},');
htp.prn('{');
htp.prn('"name": "PercentFormat",');
htp.prn('"decimalPlaces": 2,');
htp.prn('"currencySymbolAlign": "left",');
htp.prn('nullValue: "0,00",');
htp.prn('"textAlign": "right",');
htp.prn('"isPercent": true');
htp.prn('}');
htp.prn('],');
htp.prn('options: {');
htp.prn('showAggregationLabels: false,');
htp.prn('grid: {');
htp.prn('type: "compact",');
htp.prn('title: ''Diferimento Faturado''');
htp.prn('},');
htp.prn('},');
htp.prn('};');
htp.prn('}');
htp.prn('}');
htp.prn('class ColtGrossRevenueWithDefer {');
htp.prn('height = 290;');
htp.prn('constructor (store) {');
htp.prn('const showIss = store.filter.fields.showIss.value ?? null;');
htp.prn('this.config = {');
htp.prn('"dataSource": {');
htp.prn('data: store.results.colt_gross_revenue_with_defer_arr,');
htp.prn('type: ''json'',');
htp.prn('mapping: {');
htp.prn('monthYear: { caption: i18next.t(''monthly-closing:table.month-year''), type: "string", format: "YYYYMM" }');
htp.prn('},');
htp.prn('},');
htp.prn('slice: {');
htp.prn('rows: [');
htp.prn('],');
htp.prn('columns: [');
htp.prn('{');
htp.prn('uniqueName: "monthYear",');
htp.prn('},');
htp.prn('{');
htp.prn('uniqueName: "[Measures]",');
htp.prn('},');
htp.prn('],');
htp.prn('measures: MeasuresHelper.getProvisionMeasures(showIss),');
htp.prn('},');
htp.prn('"formats": [');
htp.prn('{');
htp.prn('"name": "RealFormat",');
htp.prn('"thousandsSeparator": ".",');
htp.prn('"decimalSeparator": ",",');
htp.prn('"decimalPlaces": 2,');
htp.prn('"currencySymbol": "",');
htp.prn('"currencySymbolAlign": "left",');
htp.prn('nullValue: "0,00",');
htp.prn('"textAlign": "right",');
htp.prn('"isPercent": false');
htp.prn('},');
htp.prn('{');
htp.prn('"name": "PercentFormat",');
htp.prn('"decimalPlaces": 2,');
htp.prn('"currencySymbolAlign": "left",');
htp.prn('nullValue: "0,00",');
htp.prn('"textAlign": "right",');
htp.prn('"isPercent": true');
htp.prn('}');
htp.prn('],');
htp.prn('options: {');
htp.prn('showAggregationLabels: false,');
htp.prn('grid: {');
htp.prn('type: "compact",');
htp.prn('title: ''Receita Bruta Colt com Diferimento'',');
htp.prn('showGrandTotals: "off",');
htp.prn('},');
htp.prn('},');
htp.prn('}');
htp.prn('}');
htp.prn('}');
Hello, Rodrigo!
Thank you for reaching out to us.
Flexmonster allows exporting multiple table instances into a single Excel file using the exportTo
API call. This method can be used to export to Excel in the Uint8Array
format with the destinationType
parameter set to "plain"
. The resulting data can be combined into a single file by a third-party library for working with Excel, like SheetJS.
For refernce, you can check this example where two pivots are combined in one sheet: https://jsfiddle.net/flexmonster/Lpneu2xt/
Please let us know if this approach works for you.
Best regards,
Maksym
Hello, Rodrigo!
Hope you are doing well.
Our team would like to know if you tried implementing the suggested approach for combining different tables in one Excel file during export.
We are looking forward to hearing from you.
Best regards,
Maksym