diff --git a/ej2-javascript-toc.html b/ej2-javascript-toc.html
index 89613e383..b380411fa 100644
--- a/ej2-javascript-toc.html
+++ b/ej2-javascript-toc.html
@@ -1679,6 +1679,12 @@
API Reference
+
+Markdown Converter
+
Markdown Editor
Getting Started
diff --git a/ej2-javascript/code-snippet/markdown-converter/markdown-converter-default/index.css b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-default/index.css
new file mode 100644
index 000000000..6d351c5a8
--- /dev/null
+++ b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-default/index.css
@@ -0,0 +1,25 @@
+#container {
+ visibility: hidden;
+}
+
+#loader {
+ color: #008cff;
+ height: 40px;
+ left: 45%;
+ position: absolute;
+ top: 45%;
+ width: 30%;
+}
+
+#element1, #element2 {
+ background: #333333;
+ border: 1px solid #cecece;
+ box-sizing: border-box;
+ float: left;
+ height: 100px;
+ width:100px;
+}
+
+#element2 {
+ margin-left: 20px;
+}
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/markdown-converter/markdown-converter-default/index.js b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-default/index.js
new file mode 100644
index 000000000..920ec0476
--- /dev/null
+++ b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-default/index.js
@@ -0,0 +1,94 @@
+ej.base.enableRipple(true);
+
+var textArea;
+var srcArea;
+var markdownConverter = ej.markdownconverter.MarkdownConverter;
+
+var markdownRTE = new ej.richtexteditor.RichTextEditor({
+ height: '520px',
+ value:
+ 'In Rich Text Editor, you click the toolbar buttons to format the words and the changes are visible immediately. Markdown is not like that. When you format the word in Markdown format, you need to add Markdown syntax to the word to indicate which words and phrases should look different from each other. Rich Text Editor supports markdown editing when the editorMode set as **markdown** and using both *keyboard interaction* and *toolbar action*, you can apply the formatting to text. You can add our own custom formation syntax for the Markdown formation, [sample link](https://ej2.syncfusion.com/home/). The Syncfusion’s Markdown Converter is used in this sample to convert markdown into HTML content.',
+ placeholder: 'Enter your text here...',
+ formatter: new ej.richtexteditor.MarkdownFormatter({ listTags: { 'OL': '1., 2., 3.' } }),
+ editorMode: 'Markdown',
+ toolbarSettings: {
+ items: ['Bold', 'Italic', 'StrikeThrough', '|',
+ 'Formats', 'Blockquote', 'OrderedList', 'UnorderedList', 'SuperScript', 'SubScript', '|',
+ 'CreateLink', 'Image', 'CreateTable', '|',
+ {
+ tooltipText: 'Preview',
+ template: '' +
+ ' '
+ }, '|', 'Undo', 'Redo'
+ ]
+
+ },
+ created: function () {
+ textArea = defaultRTE.contentModule.getEditPanel();
+ textArea.addEventListener('keyup', function (e) {
+ markdownConversion();
+ });
+ mdsource = document.getElementById('preview-code');
+ mdsource.addEventListener('click', function (e) {
+ fullPreview();
+ if (e.currentTarget.classList.contains('e-active')) {
+ defaultRTE.disableToolbarItem(['Bold', 'Italic', 'StrikeThrough', 'OrderedList',
+ 'UnorderedList', 'SuperScript', 'SubScript', 'CreateLink', 'Image', 'CreateTable', 'Formats', 'Blockquote', 'Undo', 'Redo'
+ ]);
+ } else {
+ defaultRTE.enableToolbarItem(['Bold', 'Italic', 'StrikeThrough', 'OrderedList',
+ 'UnorderedList', 'SuperScript', 'SubScript', 'CreateLink', 'Image', 'CreateTable', 'Formats', 'Blockquote', 'Undo', 'Redo'
+ ]);
+ }
+ });
+ }
+});
+markdownRTE.appendTo('#markdown-editor');
+
+function markdownConversion() {
+ if (mdsource.classList.contains('e-active')) {
+ var id = defaultRTE.getID() + 'html-view';
+ var htmlPreview = document.body.querySelector('#defaultRTEhtml-preview');
+ htmlPreview.innerHTML = markdownConverterr.toHtml(defaultRTE.contentModule.getEditPanel().value, {
+ async: true,
+ gfm: true,
+ lineBreak: true,
+ silence: true
+ });
+ }
+}
+
+function fullPreview() {
+ var id = defaultRTE.getID() + 'html-preview';
+ var htmlPreview = defaultRTE.element.querySelector('#' + id);
+ var previewTextArea = defaultRTE.element.querySelector('.e-rte-content');
+ if (mdsource.classList.contains('e-active')) {
+ mdsource.classList.remove('e-active');
+ mdsource.parentElement.title = 'Preview';
+ textArea.style.display = 'block';
+ htmlPreview.style.display = 'none';
+ previewTextArea.style.overflow = 'hidden';
+ }
+ else {
+ mdsource.classList.add('e-active');
+ if (!htmlPreview) {
+ htmlPreview = ej.base.createElement('div', { className: 'e-content e-pre-source' });
+ htmlPreview.id = id;
+ textArea.parentNode.appendChild(htmlPreview);
+ previewTextArea.style.overflow = 'auto';
+ }
+ if (previewTextArea.style.overflow === 'hidden') {
+ previewTextArea.style.overflow = 'auto';
+ }
+ textArea.style.display = 'none';
+ htmlPreview.style.display = 'block';
+ htmlPreview.innerHTML = markdownConverter.toHtml(defaultRTE.contentModule.getEditPanel().value, {
+ async: true,
+ gfm: true,
+ lineBreak: true,
+ silence: true
+ });
+ mdsource.parentElement.title = 'Code View';
+ }
+}
+
diff --git a/ej2-javascript/code-snippet/markdown-converter/markdown-converter-default/index.ts b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-default/index.ts
new file mode 100644
index 000000000..26f3074a9
--- /dev/null
+++ b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-default/index.ts
@@ -0,0 +1,99 @@
+import { enableRipple } from '@syncfusion/ej2-base';
+enableRipple(true);
+
+import {
+ RichTextEditor,
+ Link,
+ Image,
+ MarkdownEditor,
+ Toolbar,
+ Table,
+} from '@syncfusion/ej2-richtexteditor';
+import { MarkdownFormatter } from '@syncfusion/ej2-richtexteditor';
+import { createElement, KeyboardEventArgs } from '@syncfusion/ej2-base';
+import { MarkdownConverter } from '@syncfusion/ej2-markdown-converter';
+RichTextEditor.Inject(Link, Image, MarkdownEditor, Toolbar, Table);
+
+let textArea: HTMLTextAreaElement;
+let mdsource: HTMLElement;
+
+let markdownRTE: RichTextEditor = new RichTextEditor({
+ height: '520px',
+ value:
+ 'In Rich Text Editor, you click the toolbar buttons to format the words and the changes are visible immediately. Markdown is not like that. When you format the word in Markdown format, you need to add Markdown syntax to the word to indicate which words and phrases should look different from each other. Rich Text Editor supports markdown editing when the editorMode set as **markdown** and using both *keyboard interaction* and *toolbar action*, you can apply the formatting to text. You can add our own custom formation syntax for the Markdown formation, [sample link](https://ej2.syncfusion.com/home/). The Syncfusion’s Markdown Converter is used in this sample to convert markdown into HTML content.',
+ placeholder: 'Enter your text here...',
+ formatter: new MarkdownFormatter({ listTags: { 'OL': '1., 2., 3.' } }),
+ editorMode: 'Markdown',
+ toolbarSettings: {
+ items: ['Bold', 'Italic', 'StrikeThrough', '|', 'Formats', 'Blockquote', 'OrderedList',
+ 'UnorderedList', 'SuperScript', 'SubScript', '|', 'CreateLink', 'Image', 'CreateTable', '|',
+ {
+ tooltipText: 'Preview', template: '' +
+ ' '
+ }, '|', 'Undo', 'Redo']
+
+ },
+ created: () => {
+ textArea = markdownRTE.contentModule.getEditPanel() as HTMLTextAreaElement;
+ textArea.addEventListener('keyup', (e: KeyboardEventArgs) => {
+ markDownConversion();
+ });
+ mdsource = document.getElementById('preview-code');
+ mdsource.addEventListener('click', (e: MouseEvent) => {
+ fullPreview();
+ if ((e.currentTarget as HTMLElement).classList.contains('e-active')) {
+ markdownRTE.disableToolbarItem(['Bold', 'Italic', 'StrikeThrough', 'OrderedList',
+ 'UnorderedList', 'SuperScript', 'SubScript', 'CreateLink', 'Image', 'CreateTable', 'Formats', 'Blockquote', 'Undo', 'Redo']);
+ } else {
+ markdownRTE.enableToolbarItem(['Bold', 'Italic', 'StrikeThrough', 'OrderedList',
+ 'UnorderedList', 'SuperScript', 'SubScript', 'CreateLink', 'Image', 'CreateTable', 'Formats', 'Blockquote', 'Undo', 'Redo']);
+ }
+ });
+ }
+});
+markdownRTE.appendTo('#markdown-editor');
+
+function markDownConversion(): void {
+ if (mdsource.classList.contains('e-active')) {
+ let id: string = markdownRTE.getID() + 'html-view';
+ let htmlPreview: HTMLElement = markdownRTE.element.querySelector('#' + id);
+ htmlPreview.innerHTML = MarkdownConverter.toHtml((markdownRTE.contentModule.getEditPanel() as HTMLTextAreaElement).value, {
+ async: true,
+ gfm: true,
+ lineBreak: true,
+ silence: true
+ }) as string;
+ }
+}
+function fullPreview(): void {
+ let id: string = markdownRTE.getID() + 'html-preview';
+ let htmlPreview: HTMLElement = markdownRTE.element.querySelector('#' + id);
+ let previewTextArea: HTMLElement = markdownRTE.element.querySelector('.e-rte-content') as HTMLElement;
+ if (mdsource.classList.contains('e-active')) {
+ mdsource.classList.remove('e-active');
+ mdsource.parentElement.title = 'Preview';
+ textArea.style.display = 'block';
+ htmlPreview.style.display = 'none';
+ previewTextArea.style.overflow = 'hidden';
+ } else {
+ mdsource.classList.add('e-active');
+ if (!htmlPreview) {
+ htmlPreview = createElement('div', { className: 'e-content e-pre-source' });
+ htmlPreview.id = id;
+ textArea.parentNode.appendChild(htmlPreview);
+ previewTextArea.style.overflow = 'auto';
+ }
+ if (previewTextArea.style.overflow === 'hidden') {
+ previewTextArea.style.overflow = 'auto';
+ }
+ textArea.style.display = 'none';
+ htmlPreview.style.display = 'block';
+ htmlPreview.innerHTML = MarkdownConverter.toHtml((markdownRTE.contentModule.getEditPanel() as HTMLTextAreaElement).value, {
+ async: true,
+ gfm: true,
+ lineBreak: true,
+ silence: true
+ }) as string;
+ mdsource.parentElement.title = 'Code View';
+ }
+}
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/markdown-converter/markdown-converter-default/js/index.html b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-default/js/index.html
new file mode 100644
index 000000000..68484b6b3
--- /dev/null
+++ b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-default/js/index.html
@@ -0,0 +1,146 @@
+
+
+
+
+ Essential JS 2 Markdown Editor with Markdown Converter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/markdown-converter/markdown-converter-default/systemjs.config.js b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-default/systemjs.config.js
new file mode 100644
index 000000000..5ada850c7
--- /dev/null
+++ b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-default/systemjs.config.js
@@ -0,0 +1,44 @@
+System.config({
+ transpiler: "typescript",
+ typescriptOptions: {
+ compilerOptions: {
+ target: "umd",
+ module: "commonjs",
+ moduleResolution: "node",
+ emitDecoratorMetadata: true,
+ experimentalDecorators: true
+ }
+ },
+ paths: {
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/"
+ },
+ map: {
+ main: "index.ts",
+ typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js",
+ "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js",
+ "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js",
+ "@syncfusion/ej2-data":"syncfusion:ej2-data/dist/ej2-data.umd.min.js",
+ "@syncfusion/ej2-inputs":"syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js",
+ "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js",
+ "@syncfusion/ej2-lists":"syncfusion:ej2-lists/dist/ej2-lists.umd.min.js",
+ "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js",
+ "@syncfusion/ej2-layouts": "syncfusion:ej2-layouts/dist/ej2-layouts.umd.min.js",
+ "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js",
+ "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js",
+ "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js",
+ "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js",
+ "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js",
+ "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js",
+ "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js",
+ "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js",
+ "@syncfusion/ej2-filemanager": "syncfusion:ej2-filemanager/dist/ej2-filemanager.umd.min.js",
+ "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js",
+ "@syncfusion/ej2-richtexteditor": "syncfusion:ej2-richtexteditor/dist/ej2-richtexteditor.umd.min.js",
+ "@syncfusion/ej2-markdown-converter": "syncfusion:ej2-markdown-converter/dist/ej2-markdown-converter.umd.min.js",
+ }
+});
+
+System.import('index.ts').catch(console.error.bind(console)).then(function () {
+ document.getElementById('loader').style.display = "none";
+ document.getElementById('container').style.visibility = "visible";
+});
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/markdown-converter/markdown-converter-default/ts/index.html b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-default/ts/index.html
new file mode 100644
index 000000000..763378d8d
--- /dev/null
+++ b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-default/ts/index.html
@@ -0,0 +1,138 @@
+
+
+
+
+ Essential JS 2 Markdown Editor with Markdown Converter Integration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/markdown-converter/markdown-converter-overview/index.css b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-overview/index.css
new file mode 100644
index 000000000..6d351c5a8
--- /dev/null
+++ b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-overview/index.css
@@ -0,0 +1,25 @@
+#container {
+ visibility: hidden;
+}
+
+#loader {
+ color: #008cff;
+ height: 40px;
+ left: 45%;
+ position: absolute;
+ top: 45%;
+ width: 30%;
+}
+
+#element1, #element2 {
+ background: #333333;
+ border: 1px solid #cecece;
+ box-sizing: border-box;
+ float: left;
+ height: 100px;
+ width:100px;
+}
+
+#element2 {
+ margin-left: 20px;
+}
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/markdown-converter/markdown-converter-overview/index.js b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-overview/index.js
new file mode 100644
index 000000000..add64a7fd
--- /dev/null
+++ b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-overview/index.js
@@ -0,0 +1,79 @@
+ej.base.enableRipple(true);
+
+var textArea;
+var srcArea;
+var markdownConverter = ej.markdownconverter.MarkdownConverter;
+var splitObj = new ej.layouts.Splitter({
+ height: '450px',
+ resizing: onResizing,
+ created: updateOrientation,
+ width: '100%',
+ paneSettings: [
+ {
+ resizable: true,
+ size: '50%',
+ min: '40%',
+ },
+ { min: '40%' },
+ ],
+});
+splitObj.appendTo('#splitter-rte-markdown-preview');
+
+var markdownRTE = new ej.richtexteditor.RichTextEditor({
+ height: '100%',
+ value:
+ 'In Rich Text Editor, you click the toolbar buttons to format the words and the changes are visible immediately. Markdown is not like that. When you format the word in Markdown format, you need to add Markdown syntax to the word to indicate which words and phrases should look different from each other. Rich Text Editor supports markdown editing when the editorMode set as **markdown** and using both *keyboard interaction* and *toolbar action*, you can apply the formatting to text. You can add our own custom formation syntax for the Markdown formation, [sample link](https://ej2.syncfusion.com/home/). The Syncfusion’s Markdown Converter is used in this sample to convert markdown into HTML content.',
+ placeholder: 'Enter your text here...',
+ floatingToolbarOffset: 0,
+ editorMode: 'Markdown',
+ toolbarSettings: {
+ type: 'Expand',
+ enableFloating: false,
+ items: [
+ 'Bold',
+ 'Italic',
+ 'StrikeThrough',
+ '|',
+ 'Formats',
+ 'Blockquote',
+ 'OrderedList',
+ 'UnorderedList',
+ '|',
+ 'CreateLink',
+ 'Image',
+ 'CreateTable',
+ '|',
+ 'Undo',
+ 'Redo',
+ ],
+ },
+ saveInterval: 1,
+ actionComplete: updateValue,
+ change: onChange,
+ showCharCount: true,
+ maxLength: 5000,
+ created: onCreate,
+});
+markdownRTE.appendTo('#markdown-editor');
+
+function onChange() {
+ updateValue();
+}
+function onResizing() {
+ markdownRTE.refreshUI();
+}
+function onCreate() {
+ loadExternalFile();
+ textArea = markdownRTE.contentModule.getEditPanel();
+ srcArea = document.querySelector('.source-code');
+}
+function updateValue() {
+ srcArea.innerHTML = markdownConverter.toHtml(defaultRTE.contentModule.getEditPanel().value);
+}
+function updateOrientation() {
+ if (ej.base.Browser.isDevice) {
+ splitObj.orientation = 'Vertical';
+ document.body.querySelector('.heading').style.width = 'auto';
+ }
+}
+
diff --git a/ej2-javascript/code-snippet/markdown-converter/markdown-converter-overview/index.ts b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-overview/index.ts
new file mode 100644
index 000000000..4c7507f14
--- /dev/null
+++ b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-overview/index.ts
@@ -0,0 +1,84 @@
+import { enableRipple } from '@syncfusion/ej2-base';
+enableRipple(true);
+
+import {
+ RichTextEditor,
+ Link,
+ Image,
+ MarkdownEditor,
+ Toolbar,
+ Table,
+ ToolbarType,
+} from '@syncfusion/ej2-richtexteditor';
+import { Browser } from '@syncfusion/ej2-base';
+import { Splitter } from '@syncfusion/ej2-layouts';
+import { MarkdownConverter } from '@syncfusion/ej2-markdown-converter';
+RichTextEditor.Inject(Link, Image, MarkdownEditor, Toolbar, Table);
+
+let textArea: HTMLTextAreaElement;
+let srcArea: HTMLElement;
+
+let splitObj: Splitter = new Splitter({
+ height: '450px',
+ width: '100%',
+ resizing: onResizing,
+ paneSettings: [{ resizable: true, size: '50%', min: '40%' }, { min: '40%' }],
+ created: updateOrientation,
+});
+splitObj.appendTo('#splitter-rte-markdown-preview');
+let markdownRTE: RichTextEditor = new RichTextEditor({
+ height: '100%',
+ value:
+ 'In Rich Text Editor, you click the toolbar buttons to format the words and the changes are visible immediately. Markdown is not like that. When you format the word in Markdown format, you need to add Markdown syntax to the word to indicate which words and phrases should look different from each other. Rich Text Editor supports markdown editing when the editorMode set as **markdown** and using both *keyboard interaction* and *toolbar action*, you can apply the formatting to text. You can add our own custom formation syntax for the Markdown formation, [sample link](https://ej2.syncfusion.com/home/). The Syncfusion’s Markdown Converter is used in this sample to convert markdown into HTML content.',
+ placeholder: 'Enter your text here...',
+ floatingToolbarOffset: 0,
+ editorMode: 'Markdown',
+ toolbarSettings: {
+ type: ToolbarType.Expand,
+ enableFloating: false,
+ items: [
+ 'Bold',
+ 'Italic',
+ 'StrikeThrough',
+ '|',
+ 'Formats',
+ 'Blockquote',
+ 'OrderedList',
+ 'UnorderedList',
+ '|',
+ 'CreateLink',
+ 'Image',
+ 'CreateTable',
+ '|',
+ 'Undo',
+ 'Redo',
+ ],
+ },
+ saveInterval: 1,
+ actionComplete: updateValue,
+ change: onChange,
+ created: onCreate,
+});
+markdownRTE.appendTo('#markdown-editor');
+
+function onChange(): void {
+ updateValue();
+}
+function onResizing(): void {
+ markdownRTE.refreshUI();
+}
+function onCreate(): void {
+ textArea = markdownRTE.contentModule.getEditPanel() as HTMLTextAreaElement;
+ srcArea = document.querySelector('.source-code') as HTMLElement;
+ updateValue();
+}
+function updateValue(): void {
+ srcArea.innerHTML = MarkdownConverter.toHtml((markdownRTE.contentModule.getEditPanel() as HTMLTextAreaElement).value) as string;
+}
+function updateOrientation(): void {
+ if (Browser.isDevice) {
+ splitObj.orientation = 'Vertical';
+ (document.body.querySelector('.heading') as HTMLElement).style.width =
+ 'auto';
+ }
+}
diff --git a/ej2-javascript/code-snippet/markdown-converter/markdown-converter-overview/js/index.html b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-overview/js/index.html
new file mode 100644
index 000000000..66620aa45
--- /dev/null
+++ b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-overview/js/index.html
@@ -0,0 +1,152 @@
+
+
+
+
+ Essential JS 2 Markdown Editor with Markdown converter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Markdown Preview
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/markdown-converter/markdown-converter-overview/systemjs.config.js b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-overview/systemjs.config.js
new file mode 100644
index 000000000..5ada850c7
--- /dev/null
+++ b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-overview/systemjs.config.js
@@ -0,0 +1,44 @@
+System.config({
+ transpiler: "typescript",
+ typescriptOptions: {
+ compilerOptions: {
+ target: "umd",
+ module: "commonjs",
+ moduleResolution: "node",
+ emitDecoratorMetadata: true,
+ experimentalDecorators: true
+ }
+ },
+ paths: {
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/"
+ },
+ map: {
+ main: "index.ts",
+ typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js",
+ "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js",
+ "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js",
+ "@syncfusion/ej2-data":"syncfusion:ej2-data/dist/ej2-data.umd.min.js",
+ "@syncfusion/ej2-inputs":"syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js",
+ "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js",
+ "@syncfusion/ej2-lists":"syncfusion:ej2-lists/dist/ej2-lists.umd.min.js",
+ "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js",
+ "@syncfusion/ej2-layouts": "syncfusion:ej2-layouts/dist/ej2-layouts.umd.min.js",
+ "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js",
+ "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js",
+ "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js",
+ "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js",
+ "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js",
+ "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js",
+ "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js",
+ "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js",
+ "@syncfusion/ej2-filemanager": "syncfusion:ej2-filemanager/dist/ej2-filemanager.umd.min.js",
+ "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js",
+ "@syncfusion/ej2-richtexteditor": "syncfusion:ej2-richtexteditor/dist/ej2-richtexteditor.umd.min.js",
+ "@syncfusion/ej2-markdown-converter": "syncfusion:ej2-markdown-converter/dist/ej2-markdown-converter.umd.min.js",
+ }
+});
+
+System.import('index.ts').catch(console.error.bind(console)).then(function () {
+ document.getElementById('loader').style.display = "none";
+ document.getElementById('container').style.visibility = "visible";
+});
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/markdown-converter/markdown-converter-overview/ts/index.html b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-overview/ts/index.html
new file mode 100644
index 000000000..a850b1d00
--- /dev/null
+++ b/ej2-javascript/code-snippet/markdown-converter/markdown-converter-overview/ts/index.html
@@ -0,0 +1,143 @@
+
+
+
+
+ Essential JS 2 Markdown Editor with Markdown Converter Integration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
+
+
+
+
Markdown Preview
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs20/index.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs20/index.ts
index 67ea19762..2c84121ef 100644
--- a/ej2-javascript/code-snippet/pivot-table/excel-export-cs20/index.ts
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs20/index.ts
@@ -1,9 +1,11 @@
-import { PivotView, IDataSet } from '@syncfusion/ej2-pivotview';
+import { PivotView, IDataSet, ExcelExport} from '@syncfusion/ej2-pivotview';
import { Button } from '@syncfusion/ej2-buttons';
import { pivotData } from './datasource.ts';
+PivotView.Inject(ExcelExport);
+
let pivotTableObj: PivotView = new PivotView({
dataSourceSettings: {
dataSource: pivotData as IDataSet[],
@@ -26,6 +28,3 @@ exportBtn.appendTo('#excel');
document.getElementById('excel').onclick = function () {
pivotTableObj.excelExport();
}
-
-
-
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/index.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/index.js
index a8f2147b2..9dd99e29f 100644
--- a/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/index.js
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/index.js
@@ -11,33 +11,29 @@ var pivotTableObj = new ej.pivotview.PivotView({
height: 300,
allowExcelExport: true
});
+pivotTableObj.appendTo('#PivotTable');
var pivotTableObj2 = new ej.pivotview.PivotView({
dataSourceSettings: {
dataSource: pivotData,
expandAll: false,
rows: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }],
- values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }],
+ values: [{ name: 'Amount', caption: 'Sold Amount' }, { name: 'Sold', caption: 'Units Sold' }],
columns: [{ name: 'Country' }, { name: 'Products' }],
- formatSettings: [{ name: 'Amount', format: 'C0' }],
filters: []
},
height: 300,
allowExcelExport: true
});
-pivotTableObj.appendTo('#PivotTable');
pivotTableObj2.appendTo('#PivotTable2');
var exportBtn = new ej.buttons.Button({ isPrimary: true });
exportBtn.appendTo('#excel');
document.getElementById('excel').onclick = function () {
- var excelExportProperties = {
- multipleExport: { type: 'AppendToSheet', blankRows: 2 }
+ let excelExportProperties = {
+ multipleExport: { type: 'AppendToSheet', blankRows: 2 },
+ pivotTableIds: ['PivotTable', 'PivotTable2']
};
- var firstGridExport = pivotTableObj.grid.excelExport(excelExportProperties, true);
- firstGridExport.then(function (fData) {
- pivotTableObj2.excelExport(excelExportProperties, false, fData);
- });
+ pivotTableObj.excelExport(excelExportProperties, true);
};
-
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/index.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/index.ts
index 4ebc2d74c..ba11c2b99 100644
--- a/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/index.ts
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/index.ts
@@ -1,10 +1,9 @@
-
-
-import { PivotView, IDataSet } from '@syncfusion/ej2-pivotview';
-import { ExcelExportProperties } from '@syncfusion/ej2-grids';
+import { PivotView, IDataSet, ExcelExport, ExcelExportProperties } from '@syncfusion/ej2-pivotview';
import { Button } from '@syncfusion/ej2-buttons';
import { pivotData } from './datasource.ts';
+PivotView.Inject(ExcelExport);
+
let pivotTableObj: PivotView = new PivotView({
dataSourceSettings: {
dataSource: pivotData as IDataSet[],
@@ -18,19 +17,19 @@ let pivotTableObj: PivotView = new PivotView({
allowExcelExport: true,
height: 320
});
+pivotTableObj.appendTo('#PivotTable');
+
let pivotTableObj2: PivotView = new PivotView({
dataSourceSettings: {
dataSource: pivotData as IDataSet[],
expandAll: false,
rows: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }],
- values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }],
+ values: [{ name: 'Amount', caption: 'Sold Amount' }, { name: 'Sold', caption: 'Units Sold' }],
columns: [{ name: 'Country' }, { name: 'Products' }],
- formatSettings: [{ name: 'Amount', format: 'C0' }],
filters: []
},
allowExcelExport: true
});
-pivotTableObj.appendTo('#PivotTable');
pivotTableObj2.appendTo('#PivotTable2');
let exportBtn: Button = new Button({ isPrimary: true });
@@ -38,13 +37,8 @@ exportBtn.appendTo('#excel');
document.getElementById('excel').onclick = function () {
let excelExportProperties: ExcelExportProperties = {
- multipleExport: { type: 'AppendToSheet', blankRows: 2 }
+ multipleExport: { type: 'AppendToSheet', blankRows: 2 },
+ pivotTableIds: ['PivotTable', 'PivotTable2']
};
- let firstGridExport: Promise = pivotTableObj.grid.excelExport(excelExportProperties, true);
- firstGridExport.then((fData: any) => {
- pivotTableObj2.excelExport(excelExportProperties, false, fData);
- });
-};
-
-
-
+ pivotTableObj.excelExport(excelExportProperties, true);
+};
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/js/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/js/index.html
index 6e7d68ac4..834321a1f 100644
--- a/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/js/index.html
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/js/index.html
@@ -8,19 +8,19 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/systemjs.config.js
index b48559eac..6d19ef5e9 100644
--- a/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/systemjs.config.js
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/systemjs.config.js
@@ -10,7 +10,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
},
map: {
main: "index.ts",
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/ts/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/ts/index.html
index b730e8582..9d252bb4a 100644
--- a/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/ts/index.html
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs21/ts/index.html
@@ -8,17 +8,17 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/index.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/index.js
index 1da9b3fdc..60078d8cf 100644
--- a/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/index.js
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/index.js
@@ -11,33 +11,29 @@ var pivotTableObj = new ej.pivotview.PivotView({
height: 300,
allowExcelExport: true
});
+pivotTableObj.appendTo('#PivotTable');
var pivotTableObj2 = new ej.pivotview.PivotView({
dataSourceSettings: {
dataSource: pivotData,
expandAll: false,
rows: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }],
- values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }],
+ values: [{ name: 'Amount', caption: 'Sold Amount' }, { name: 'Sold', caption: 'Units Sold' }],
columns: [{ name: 'Country' }, { name: 'Products' }],
- formatSettings: [{ name: 'Amount', format: 'C0' }],
filters: []
},
height: 300,
allowExcelExport: true
});
-pivotTableObj.appendTo('#PivotTable');
pivotTableObj2.appendTo('#PivotTable2');
var exportBtn = new ej.buttons.Button({ isPrimary: true });
exportBtn.appendTo('#excel');
document.getElementById('excel').onclick = function () {
- var excelExportProperties = {
- multipleExport: { type: 'NewSheet' }
+ let excelExportProperties = {
+ multipleExport: { type: 'NewSheet' },
+ pivotTableIds: ['PivotTable', 'PivotTable2']
};
- var firstGridExport = pivotTableObj.grid.excelExport(excelExportProperties, true);
- firstGridExport.then(function (fData) {
- pivotTableObj2.excelExport(excelExportProperties, false, fData);
- });
+ pivotTableObj.excelExport(excelExportProperties, true);
};
-
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/index.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/index.ts
index 8b302654d..9feabb11f 100644
--- a/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/index.ts
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/index.ts
@@ -1,36 +1,39 @@
-
-
-import { PivotView, IDataSet } from '@syncfusion/ej2-pivotview';
-import { ExcelExportProperties } from '@syncfusion/ej2-grids';
+import { PivotView, IDataSet, ExcelExport, ExcelExportProperties } from '@syncfusion/ej2-pivotview';
import { Button } from '@syncfusion/ej2-buttons';
import { pivotData } from './datasource.ts';
+PivotView.Inject(ExcelExport);
+
let pivotTableObj: PivotView = new PivotView({
dataSourceSettings: {
dataSource: pivotData as IDataSet[],
+ enableSorting: true,
expandAll: false,
- columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }],
- values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }],
+ filters: [],
+ columns: [{ name: 'Year' }],
+ values: [
+ { name: 'Sold', caption: 'Units Sold' },
+ { name: 'Amount', caption: 'Sold Amount' },
+ ],
rows: [{ name: 'Country' }, { name: 'Products' }],
formatSettings: [{ name: 'Amount', format: 'C0' }],
- filters: []
},
allowExcelExport: true,
height: 320
});
+pivotTableObj.appendTo('#PivotTable');
+
let pivotTableObj2: PivotView = new PivotView({
dataSourceSettings: {
dataSource: pivotData as IDataSet[],
expandAll: false,
rows: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }],
- values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }],
+ values: [{ name: 'Amount', caption: 'Sold Amount' }, { name: 'Sold', caption: 'Units Sold' }],
columns: [{ name: 'Country' }, { name: 'Products' }],
- formatSettings: [{ name: 'Amount', format: 'C0' }],
filters: []
},
allowExcelExport: true
});
-pivotTableObj.appendTo('#PivotTable');
pivotTableObj2.appendTo('#PivotTable2');
let exportBtn: Button = new Button({ isPrimary: true });
@@ -38,13 +41,8 @@ exportBtn.appendTo('#excel');
document.getElementById('excel').onclick = function () {
let excelExportProperties: ExcelExportProperties = {
- multipleExport: { type: 'NewSheet' }
+ multipleExport: { type: 'NewSheet' },
+ pivotTableIds: ['PivotTable', 'PivotTable2']
};
- let firstGridExport: Promise = pivotTableObj.grid.excelExport(excelExportProperties, true);
- firstGridExport.then((fData: any) => {
- pivotTableObj2.excelExport(excelExportProperties, false, fData);
- });
-};
-
-
-
+ pivotTableObj.excelExport(excelExportProperties, true);
+};
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/js/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/js/index.html
index 6e7d68ac4..834321a1f 100644
--- a/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/js/index.html
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/js/index.html
@@ -8,19 +8,19 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/systemjs.config.js
index b48559eac..6d19ef5e9 100644
--- a/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/systemjs.config.js
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/systemjs.config.js
@@ -10,7 +10,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
},
map: {
main: "index.ts",
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/ts/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/ts/index.html
index b730e8582..9d252bb4a 100644
--- a/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/ts/index.html
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs22/ts/index.html
@@ -8,17 +8,17 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs26/index.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs26/index.ts
index 6f6dc9295..f95cfb5eb 100644
--- a/ej2-javascript/code-snippet/pivot-table/excel-export-cs26/index.ts
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs26/index.ts
@@ -1,9 +1,11 @@
-import { PivotView, IDataSet } from '@syncfusion/ej2-pivotview';
+import { PivotView, IDataSet, ExcelExport } from '@syncfusion/ej2-pivotview';
import { Button } from '@syncfusion/ej2-buttons';
import { pivotData } from './datasource.ts';
+PivotView.Inject(ExcelExport);
+
let pivotTableObj: PivotView = new PivotView({
dataSourceSettings: {
dataSource: pivotData as IDataSet[],
@@ -28,4 +30,3 @@ document.getElementById('excel').onclick = function () {
}
-
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs26/js/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs26/js/index.html
index 6e7d68ac4..834321a1f 100644
--- a/ej2-javascript/code-snippet/pivot-table/excel-export-cs26/js/index.html
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs26/js/index.html
@@ -8,19 +8,19 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs26/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs26/systemjs.config.js
index b48559eac..6d19ef5e9 100644
--- a/ej2-javascript/code-snippet/pivot-table/excel-export-cs26/systemjs.config.js
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs26/systemjs.config.js
@@ -10,7 +10,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
},
map: {
main: "index.ts",
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs26/ts/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs26/ts/index.html
index b730e8582..9d252bb4a 100644
--- a/ej2-javascript/code-snippet/pivot-table/excel-export-cs26/ts/index.html
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs26/ts/index.html
@@ -8,17 +8,17 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/datasource.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/datasource.ts
new file mode 100644
index 000000000..e65eb85ce
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/datasource.ts
@@ -0,0 +1,1250 @@
+export let pivotData: Object[] = [
+ {
+ Sold: 25,
+ Amount: 42600,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 27,
+ Amount: 46008,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 49,
+ Amount: 83496,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 31,
+ Amount: 52824,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 51,
+ Amount: 86904,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 90,
+ Amount: 153360,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 95,
+ Amount: 161880,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 67,
+ Amount: 114168,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 90,
+ Amount: 153360,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 67,
+ Amount: 114168,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 93,
+ Amount: 139412,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 35,
+ Amount: 52470,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 16,
+ Amount: 27264,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 69,
+ Amount: 117576,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 75,
+ Amount: 127800,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 20,
+ Amount: 29985,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 83,
+ Amount: 124422,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 16,
+ Amount: 23989,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 28,
+ Amount: 41977,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 48,
+ Amount: 71957,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 57,
+ Amount: 85448,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 25,
+ Amount: 37480,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 69,
+ Amount: 103436,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 36,
+ Amount: 53969,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 75,
+ Amount: 119662.5,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 28,
+ Amount: 41977,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 19,
+ Amount: 28486,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 91,
+ Amount: 145190.5,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 24,
+ Amount: 38292,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 94,
+ Amount: 149977,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 100,
+ Amount: 159550,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 30,
+ Amount: 47865,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 89,
+ Amount: 141999.5,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 25,
+ Amount: 39887.5,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 42,
+ Amount: 67011,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 21,
+ Amount: 33505.5,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 74,
+ Amount: 126096,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 76,
+ Amount: 121258,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 69,
+ Amount: 110089.5,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 16,
+ Amount: 23989,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 52,
+ Amount: 82966,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 85,
+ Amount: 144840,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 99,
+ Amount: 148406,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 31,
+ Amount: 49460.5,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 33,
+ Amount: 52651.5,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 41,
+ Amount: 61464,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 64,
+ Amount: 102112,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 57,
+ Amount: 97128,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 39,
+ Amount: 66456,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 76,
+ Amount: 129504,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 33,
+ Amount: 56232,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 81,
+ Amount: 138024,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 65,
+ Amount: 110760,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 47,
+ Amount: 70458,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 91,
+ Amount: 155064,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 16,
+ Amount: 27264,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 71,
+ Amount: 120984,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 36,
+ Amount: 61344,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 39,
+ Amount: 58466,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 59,
+ Amount: 100536,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 83,
+ Amount: 124422,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 19,
+ Amount: 28486,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 34,
+ Amount: 50971,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 26,
+ Amount: 38979,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 15,
+ Amount: 22490,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 13,
+ Amount: 20741.5,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 79,
+ Amount: 118426,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 14,
+ Amount: 20991,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 34,
+ Amount: 50971,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 47,
+ Amount: 74988.5,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 93,
+ Amount: 148381.5,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 15,
+ Amount: 23932.5,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 48,
+ Amount: 76584,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 44,
+ Amount: 70202,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 59,
+ Amount: 94134.5,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 77,
+ Amount: 131208,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 84,
+ Amount: 143136,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 34,
+ Amount: 54247,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 56,
+ Amount: 95424,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 35,
+ Amount: 55842.5,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 71,
+ Amount: 113280.5,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 91,
+ Amount: 155064,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 90,
+ Amount: 153360,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 40,
+ Amount: 68160,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 24,
+ Amount: 40896,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 31,
+ Amount: 46474,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 92,
+ Amount: 156768,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 14,
+ Amount: 23856,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 95,
+ Amount: 161880,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 51,
+ Amount: 86904,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 39,
+ Amount: 66456,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 36,
+ Amount: 53969,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 86,
+ Amount: 128919,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 40,
+ Amount: 59965,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 96,
+ Amount: 163584,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 24,
+ Amount: 35981,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 97,
+ Amount: 145408,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 69,
+ Amount: 103436,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 95,
+ Amount: 142410,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 30,
+ Amount: 44975,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 11,
+ Amount: 16494,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 95,
+ Amount: 142410,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 11,
+ Amount: 16494,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 27,
+ Amount: 40478,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 68,
+ Amount: 101937,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 100,
+ Amount: 149905,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 45,
+ Amount: 67460,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 16,
+ Amount: 23989,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 40,
+ Amount: 59965,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 18,
+ Amount: 26987,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 70,
+ Amount: 104935,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 43,
+ Amount: 73272,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 43,
+ Amount: 73272,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 83,
+ Amount: 124422,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 52,
+ Amount: 88608,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 91,
+ Amount: 155064,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 100,
+ Amount: 149905,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 70,
+ Amount: 104935,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 37,
+ Amount: 63048,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 41,
+ Amount: 69864,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 99,
+ Amount: 148406,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 67,
+ Amount: 114168,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 41,
+ Amount: 65415.5,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 81,
+ Amount: 121424,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 20,
+ Amount: 29985,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 85,
+ Amount: 144840,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 49,
+ Amount: 83496,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 23,
+ Amount: 39192,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 34,
+ Amount: 54247,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 53,
+ Amount: 90312,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 82,
+ Amount: 130831,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 60,
+ Amount: 95730,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 71,
+ Amount: 113280.5,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 25,
+ Amount: 42600,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 28,
+ Amount: 47712,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 21,
+ Amount: 33505.5,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 94,
+ Amount: 149977,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 45,
+ Amount: 71797.5,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 75,
+ Amount: 119662.5,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 49,
+ Amount: 78179.5,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 50,
+ Amount: 79775,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 56,
+ Amount: 89348,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 40,
+ Amount: 63820,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 14,
+ Amount: 22337,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 76,
+ Amount: 121258,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 75,
+ Amount: 119662.5,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 11,
+ Amount: 17550.5,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 94,
+ Amount: 149977,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 80,
+ Amount: 127640,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 54,
+ Amount: 86157,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 14,
+ Amount: 22337,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 17,
+ Amount: 27123.5,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 45,
+ Amount: 71797.5,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 76,
+ Amount: 121258,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 45,
+ Amount: 71797.5,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 11,
+ Amount: 17550.5,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+];
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/es5-datasource.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/es5-datasource.js
new file mode 100644
index 000000000..2621ab2fa
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/es5-datasource.js
@@ -0,0 +1,157 @@
+var pivotData = [
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }];
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/index.css b/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/index.css
new file mode 100644
index 000000000..a2b083f54
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/index.css
@@ -0,0 +1,12 @@
+#container {
+ visibility: hidden;
+}
+
+#loader {
+ color: #008cff;
+ height: 40px;
+ width: 30%;
+ position: absolute;
+ top: 45%;
+ left: 45%;
+}
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/index.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/index.js
new file mode 100644
index 000000000..94f414dc3
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/index.js
@@ -0,0 +1,33 @@
+var pivotGridObj = new ej.pivotview.PivotView({
+ dataSourceSettings: {
+ dataSource: pivotData,
+ enableSorting: true,
+ columns: [{ name: 'Year' }],
+ values: [
+ { name: 'Sold', caption: 'Units Sold' },
+ { name: 'Amount', caption: 'Sold Amount' },
+ ],
+ rows: [{ name: 'Country' }, { name: 'Products' }],
+ formatSettings: [{ name: 'Amount', format: 'C0' }],
+ expandAll: false,
+ filters: []
+ },
+ height: 300,
+ allowExcelExport: true,
+ beforeExport: function (args) {
+ var drilledMembers = pivotGridObj.dataSourceSettings.drilledMembers;
+ pivotGridObj.setProperties({ dataSourceSettings: { expandAll: true, drilledMembers: [] } }, true);
+ pivotGridObj.engineModule.generateGridData(pivotGridObj.dataSourceSettings, true);
+ args.dataCollections = [pivotGridObj.engineModule.pivotValues];
+ pivotGridObj.setProperties({ dataSourceSettings: { expandAll: false, drilledMembers: drilledMembers } }, true);
+ }
+});
+pivotGridObj.appendTo('#PivotView');
+
+var exportBtn = new ej.buttons.Button({ isPrimary: true });
+exportBtn.appendTo('#excel');
+
+document.getElementById('excel').onclick = function () {
+ pivotGridObj.excelExport();
+};
+
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/index.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/index.ts
new file mode 100644
index 000000000..db70ab0bf
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/index.ts
@@ -0,0 +1,49 @@
+import { PivotView, IDataSet, ExcelExport, BeforeExportEventArgs } from '@syncfusion/ej2-pivotview';
+import { pivotData } from './datasource.ts';
+import { Button } from '@syncfusion/ej2-buttons';
+
+//335 or 315
+PivotView.Inject(ExcelExport);
+let pivotGridObj: PivotView = new PivotView({
+ dataSourceSettings: {
+ dataSource: pivotData as IDataSet[],
+ enableSorting: true,
+ columns: [{ name: 'Year' }],
+ values: [
+ { name: 'Sold', caption: 'Units Sold' },
+ { name: 'Amount', caption: 'Sold Amount' },
+ ],
+ rows: [{ name: 'Country' }, { name: 'Products' }],
+ formatSettings: [{ name: 'Amount', format: 'C0' }],
+ expandAll: false,
+ filters: []
+ },
+ width: '100%',
+ height: 400,
+ allowExcelExport: true,
+ enableVirtualization: true,
+ beforeExport: function (args: BeforeExportEventArgs): void {
+ // Store the drilledMembers here(row/column headers that has been expanded).
+ let member = pivotGridObj.dataSourceSettings.drilledMembers;
+ // Then apply expandAll to the pivot table settings to get all the data including child members.
+ pivotGridObj.setProperties(
+ { dataSourceSettings: { expandAll: true, drilledMembers: [] } },
+ true
+ );
+ pivotGridObj.engineModule.generateGridData(pivotGridObj.dataSourceSettings, true);
+ // Assign that retrieved data to the exporting here.
+ args.dataCollections = [pivotGridObj.engineModule.pivotValues];
+ // Then set false to expandAll and the stored members to the drilledMembers to the pivot table settings to get back to the normal state.
+ pivotGridObj.setProperties(
+ { dataSourceSettings: { expandAll: false, drilledMembers: member } },
+ true
+ );
+
+ }
+});
+pivotGridObj.appendTo('#PivotView');
+let exportBtn: Button = new Button({ isPrimary: true });
+exportBtn.appendTo('#excel');
+document.getElementById('excel').onclick = function () {
+ pivotGridObj.excelExport();
+};
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/js/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/js/index.html
new file mode 100644
index 000000000..42e381b80
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/js/index.html
@@ -0,0 +1,44 @@
+
+
+
+
+ EJ2 Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/systemjs.config.js
new file mode 100644
index 000000000..6d19ef5e9
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/systemjs.config.js
@@ -0,0 +1,44 @@
+System.config({
+ transpiler: "typescript",
+ typescriptOptions: {
+ compilerOptions: {
+ target: "umd",
+ module: "commonjs",
+ moduleResolution: "node",
+ emitDecoratorMetadata: true,
+ experimentalDecorators: true
+ }
+ },
+ paths: {
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
+ },
+ map: {
+ main: "index.ts",
+ typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js",
+ 'plugin-json': 'https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js',
+ "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js",
+ "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js",
+ "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js",
+ "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js",
+ "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js",
+ "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js",
+ "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js",
+ "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js",
+ "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js",
+ "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js",
+ "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js",
+ "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js",
+ "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js",
+ "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js",
+ "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js",
+ "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js",
+ "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js",
+ "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js",
+ "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js",
+ }
+});
+
+System.import('index.ts').catch(console.error.bind(console)).then(function () {
+ document.getElementById('loader').style.display = "none";
+ document.getElementById('container').style.visibility = "visible";
+});
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/ts/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/ts/index.html
new file mode 100644
index 000000000..f0376edfd
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs31/ts/index.html
@@ -0,0 +1,34 @@
+
+
+
+
+ EJ2 Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/datasource.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/datasource.ts
new file mode 100644
index 000000000..346b44daa
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/datasource.ts
@@ -0,0 +1,157 @@
+export let pivotData: Object[] = [
+ { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }];
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/es5-datasource.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/es5-datasource.js
new file mode 100644
index 000000000..bd3582292
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/es5-datasource.js
@@ -0,0 +1,157 @@
+var pivotData = [
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }];
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/index.css b/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/index.css
new file mode 100644
index 000000000..247eeb734
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/index.css
@@ -0,0 +1,74 @@
+#container {
+ visibility: hidden;
+}
+
+#loader {
+ color: #008cff;
+ height: 40px;
+ width: 30%;
+ position: absolute;
+ top: 45%;
+ left: 45%;
+}
+
+.e-custom-class {
+ color: #008cff;
+ text-decoration: underline;
+}
+
+.e-custom-class:hover {
+ color: red;
+ text-decoration: none;
+}
+
+.e-pivotview .e-columnsheader .tempwrap {
+ display: none;
+}
+.e-pivotview .e-rowsheader .tempwrap {
+ display: none;
+}
+
+/* csslint ignore:start */
+@font-face {
+ font-family: 'e-pivot';
+ src:
+ url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAAKAIAAAwAgT1MvMjhUSmAAAAEoAAAAVmNtYXCs3q0zAAABkAAAAEpnbHlmdaItOwAAAegAAAE0aGVhZBRYEz0AAADQAAAANmhoZWEHmQNtAAAArAAAACRobXR4D7gAAAAAAYAAAAAQbG9jYQDAAHIAAAHcAAAACm1heHABDwBBAAABCAAAACBuYW1lc0cOBgAAAxwAAAIlcG9zdK9TctUAAAVEAAAARwABAAADUv9qAFoEAAAA//4D6gABAAAAAAAAAAAAAAAAAAAABAABAAAAAQAAT8kba18PPPUACwPoAAAAANin5zgAAAAA2KfnOAAAAAAD6gPoAAAACAACAAAAAAAAAAEAAAAEADUAAQAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAQPuAZAABQAAAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA4jToTQNS/2oAWgPoAJYAAAABAAAAAAAABAAAAAPoAAAD6AAAA+gAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQANgAAAAgACAACAADiNOI56E3//wAA4jTiOehN//8AAAAAAAAAAQAIAAgACAAAAAEAAwACAAAAAAAAACYAcgCaAAAAAQAAAAADTAPoABUAAAkBBhY7AREUFjsBMjY1ETMyNicBJiIB3f7KCw4SxxAMqgwQxhIPC/7FCBgD3/6tDyH9wAwQEAwCQCEPAVMJAAEAAAAAA+oDTAA0AAABMx8BAR8DDwMBDwMjLwwhLwE1NzUnPwEhPwQ1PwQCXgIFCQFxBAIEAgEDBAf+ogYKBQUEAwQDAwICAQIBAQYJCf3mAgEDAgEBAh4KCAQCAQICAgIDA0wBBf7VAwQJCQkJCQf+4QQGAgEBAQIDBAQFC50DBAQDAQICCuANAgECBQIDAqcMBQQDAQAAAQAAAAADTAPoABYAAAEGFREjIgYXARYyNwE2JisBETQmKwEiAYsIxhIPDAE5CRgJATUMDhPGEAyqDAPgCAz9wCEP/q0JCQFTDyECQAwQAAAAABIA3gABAAAAAAAAAAEAAAABAAAAAAABAAcAAQABAAAAAAACAAcACAABAAAAAAADAAcADwABAAAAAAAEAAcAFgABAAAAAAAFAAsAHQABAAAAAAAGAAcAKAABAAAAAAAKACwALwABAAAAAAALABIAWwADAAEECQAAAAIAbQADAAEECQABAA4AbwADAAEECQACAA4AfQADAAEECQADAA4AiwADAAEECQAEAA4AmQADAAEECQAFABYApwADAAEECQAGAA4AvQADAAEECQAKAFgAywADAAEECQALACQBIyBlLWljb25zUmVndWxhcmUtaWNvbnNlLWljb25zVmVyc2lvbiAxLjBlLWljb25zRm9udCBnZW5lcmF0ZWQgdXNpbmcgU3luY2Z1c2lvbiBNZXRybyBTdHVkaW93d3cuc3luY2Z1c2lvbi5jb20AIABlAC0AaQBjAG8AbgBzAFIAZQBnAHUAbABhAHIAZQAtAGkAYwBvAG4AcwBlAC0AaQBjAG8AbgBzAFYAZQByAHMAaQBvAG4AIAAxAC4AMABlAC0AaQBjAG8AbgBzAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAHUAcwBpAG4AZwAgAFMAeQBuAGMAZgB1AHMAaQBvAG4AIABNAGUAdAByAG8AIABTAHQAdQBkAGkAbwB3AHcAdwAuAHMAeQBuAGMAZgB1AHMAaQBvAG4ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAgEDAQQBBQADVXAxC2Fycm93LXJpZ2h0CURvd25fU29ydAAAAA==) format('truetype');
+ font-weight: normal;
+ font-style: normal;
+}
+
+.pv-icons {
+ font-family: 'e-pivot';
+ font-style: normal;
+ font-variant: normal;
+ font-weight: normal;
+ text-transform: none;
+ line-height: 1;
+}
+
+.sb-icon-profit::before {
+ content: '\e234';
+ padding-left: 30px;
+ margin: auto !important;
+ color: #219122;
+ size: 20px;
+}
+
+.sb-icon-neutral::before {
+ content: '\e84d';
+ padding-left: 30px;
+ margin: auto !important;
+ color: #82b5e9;
+}
+
+.sb-icon-loss::before {
+ content: '\e239';
+ padding-left: 30px;
+ margin: auto !important;
+ color: #ff2222;
+}
+
+/* csslint ignore:end */
+.e-tool-expand::before {
+ content: '\e702';
+}
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/index.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/index.js
new file mode 100644
index 000000000..765f07e89
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/index.js
@@ -0,0 +1,60 @@
+ej.base.L10n.load({
+ 'en-US': {
+ pivotview: {
+ CustomAggregateType1: 'Custom Aggregate Type 1',
+ CustomAggregateType2: 'Custom Aggregate Type 2',
+ },
+ pivotfieldlist: {
+ CustomAggregateType1: 'Custom Aggregate Type 1',
+ CustomAggregateType2: 'Custom Aggregate Type 2',
+ }
+ }
+});
+var SummaryType = [
+ 'Sum',
+ 'Count',
+ 'DistinctCount',
+ 'Avg',
+ 'CustomAggregateType1',
+ 'CustomAggregateType2'
+];
+var pivotTableObj = new ej.pivotview.PivotView({
+ dataSourceSettings: {
+ dataSource: pivotData,
+ expandAll: false,
+ enableSorting: true,
+ columns: [{ name: 'Year' }, { name: 'Quarter' }],
+ values: [{ name: 'Sold', type: 'CustomAggregateType1' }, { name: 'Amount', type: 'CustomAggregateType2' }],
+ rows: [{ name: 'Country' }, { name: 'Products' }],
+ formatSettings: [{ name: 'Amount', format: 'C0' }],
+ },
+ width: '100%',
+ height: 300,
+ showFieldList: true,
+ allowExcelExport: true,
+ dataBound: function () {
+ pivotTableObj.getAllSummaryType = function () {
+ return SummaryType;
+ };
+ pivotTableObj.pivotFieldListModule.aggregateTypes = SummaryType;
+ pivotTableObj.pivotFieldListModule.getAllSummaryType = function () {
+ return SummaryType;
+ };
+ },
+ aggregateCellInfo: function (args) {
+ if (args.aggregateType === 'CustomAggregateType1') {
+ args.value = args.value * 100;
+ }
+ if (args.aggregateType === 'CustomAggregateType2') {
+ args.value = args.value / 100;
+ }
+ }
+});
+pivotTableObj.appendTo('#PivotTable');
+
+var exportBtn = new ej.buttons.Button({ isPrimary: true });
+exportBtn.appendTo('#excel');
+
+document.getElementById('excel').onclick = function () {
+ pivotTableObj.excelExport();
+};
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/index.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/index.ts
new file mode 100644
index 000000000..c776a646a
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/index.ts
@@ -0,0 +1,65 @@
+import { PivotView, ExcelExport, FieldList, IDataSet, AggregateTypes, AggregateEventArgs, SummaryTypes } from '@syncfusion/ej2-pivotview';
+import { L10n } from '@syncfusion/ej2-base';
+import { pivotData } from './datasource.ts';
+import { Button } from '@syncfusion/ej2-buttons';
+
+PivotView.Inject(FieldList, ExcelExport);
+L10n.load({
+ 'en-US': {
+ pivotview: {
+ CustomAggregateType1: 'Custom Aggregate Type 1',
+ CustomAggregateType2: 'Custom Aggregate Type 2'
+ },
+ pivotfieldlist: {
+ CustomAggregateType1: 'Custom Aggregate Type 1',
+ CustomAggregateType2: 'Custom Aggregate Type 2'
+ }
+ }
+});
+const SummaryType: string[] = [
+ 'Sum',
+ 'Count',
+ 'DistinctCount',
+ 'Avg',
+ 'CustomAggregateType1',
+ 'CustomAggregateType2'
+];
+let pivotTableObj: PivotView = new PivotView({
+ dataSourceSettings: {
+ expandAll: true,
+ dataSource: pivotData as IDataSet[],
+ columns: [{ name: 'Year' }],
+ values: [{ name: 'Sold', type: 'CustomAggregateType1' as SummaryTypes }, { name: 'Amount', type: 'CustomAggregateType2' as SummaryTypes }],
+ rows: [{ name: 'Country' }, { name: 'Products' }],
+ formatSettings: [{ name: 'Amount', format: 'C0' }],
+ },
+ width: '100%',
+ height: 300,
+ showFieldList: true,
+ allowExcelExport: true,
+ dataBound: function (): void {
+ pivotTableObj.getAllSummaryType = function () {
+ return SummaryType as AggregateTypes[];
+ };
+ pivotTableObj.pivotFieldListModule.aggregateTypes = SummaryType as AggregateTypes[];
+ pivotTableObj.pivotFieldListModule.getAllSummaryType = function () {
+ return SummaryType as AggregateTypes[];
+ };
+ },
+ aggregateCellInfo: function (args: AggregateEventArgs): void {
+ if (args.aggregateType === 'CustomAggregateType1' as SummaryTypes) {
+ args.value = args.value * 100;
+ }
+ if (args.aggregateType === 'CustomAggregateType2' as SummaryTypes) {
+ args.value = args.value / 100;
+ }
+ }
+});
+pivotTableObj.appendTo('#PivotTable');
+
+let exportBtn: Button = new Button({ isPrimary: true });
+exportBtn.appendTo('#excel');
+
+document.getElementById('excel').onclick = function (): void {
+ pivotTableObj.excelExport();
+};
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/js/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/js/index.html
new file mode 100644
index 000000000..836b8f551
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/js/index.html
@@ -0,0 +1,44 @@
+
+
+
+
+ EJ2 Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/systemjs.config.js
new file mode 100644
index 000000000..4699cc1bd
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/systemjs.config.js
@@ -0,0 +1,47 @@
+System.config({
+ transpiler: "typescript",
+ typescriptOptions: {
+ compilerOptions: {
+ target: "umd",
+ module: "commonjs",
+ moduleResolution: "node",
+ emitDecoratorMetadata: true,
+ experimentalDecorators: true
+ }
+ },
+ paths: {
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
+ },
+ map: {
+ main: "index.ts",
+ typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js",
+ 'plugin-json':'https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js',
+ "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js",
+ "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js",
+ "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js",
+ "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js",
+ "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js",
+ "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js",
+ "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js",
+ "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js",
+ "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js",
+ "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js",
+ "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js",
+ "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js",
+ "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js",
+ "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js",
+ "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js",
+ "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js",
+ "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js",
+ "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js",
+ "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js",
+ },
+ meta: {
+ '*.json': { loader: 'plugin-json' }
+ }
+});
+
+System.import('index.ts').catch(console.error.bind(console)).then(function () {
+ document.getElementById('loader').style.display = "none";
+ document.getElementById('container').style.visibility = "visible";
+});
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/ts/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/ts/index.html
new file mode 100644
index 000000000..864c92bae
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs32/ts/index.html
@@ -0,0 +1,36 @@
+
+
+
+
+ EJ2 Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/datasource.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/datasource.ts
new file mode 100644
index 000000000..fb20f1561
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/datasource.ts
@@ -0,0 +1,208 @@
+let gData: Object[] = [
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1001,
+ 'Sold': 2
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1002,
+ 'Sold': 3
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1003,
+ 'Sold': 5
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1004,
+ 'Sold': 1
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1005,
+ 'Sold': 1
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1007,
+ 'Sold': 2
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1008,
+ 'Sold': 1
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1009,
+ 'Sold': 3
+
+ },
+ {
+ 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1003,
+ 'Sold': 3
+ },
+ {
+ 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1002,
+ 'Sold': 4
+
+ },
+ {
+ 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1002,
+ 'Sold': 1
+
+ },
+ {
+ 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1004,
+ 'Sold': 3
+ },
+ {
+ 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1005,
+ 'Sold': 2
+
+ },
+ {
+ 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1006,
+ 'Sold': 4
+
+ },
+ {
+ 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1008,
+ 'Sold': 8
+ },
+ {
+ 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1009,
+ 'Sold': 1
+
+ },
+ {
+ 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1010,
+ 'Sold': 6
+
+ },
+ {
+ 'Date': '2/20/2015 11:25:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1002,
+ 'Sold': 8
+ },
+ {
+ 'Date': '2/20/2015 11:25:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1002,
+ 'Sold': 8
+ },
+ {
+ 'Date': '2/20/2015 11:25:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1002,
+ 'Sold': 8
+ },
+ {
+ 'Date': '3/07/2015 05:11:50 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1001,
+ 'Sold': 4
+ },
+ {
+ 'Date': '3/07/2015 05:11:50 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1001,
+ 'Sold': 4
+ },
+ {
+ 'Date': '3/07/2015 05:11:50 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1001,
+ 'Sold': 4
+
+ },
+ {
+ 'Date': '3/13/2015 05:11:55 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1005,
+ 'Sold': 2
+ },
+ {
+ 'Date': '3/13/2015 05:11:55 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1005,
+ 'Sold': 2
+ },
+ {
+ 'Date': '3/13/2015 05:11:55 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1005,
+ 'Sold': 2
+ },
+ {
+ 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1004,
+ 'Sold': 1
+
+ },
+ {
+ 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1010,
+ 'Sold': 2
+ },
+ {
+ 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1004,
+ 'Sold': 1
+ },
+];
+
+export let Group_Data: Object[] = getGroupData(gData);
+
+function getGroupData(data: any): Object[] {
+ let date: Date;
+ let products: string[] = ['Bottles and Cages', 'Cleaners', 'Fenders', 'Mountain Bikes', 'Road Bikes', 'Touring Bikes', 'Gloves', 'Jerseys', 'Shorts', 'Vests'];
+ let amount: number[] = [0, 2, 3, 8, 60, 75, 65, 3, 5, 4, 2]
+ for (let ln: number = 0, lt: number = data.length; ln < lt; ln++) {
+ date = new Date(data[ln].Date.toString());
+ data[ln].Date = date.toString();
+ data[ln].Products = products[data[ln].Product_ID - 1000];
+ data[ln].Sold = data[ln].Sold * (date.getFullYear() === 2015 ? 3 : date.getFullYear() === 2016 ? 4 : date.getFullYear() === 2017 ? 2 : 5);
+ data[ln].Amount = ((date.getFullYear() === 2018 ? 2 : 0) + data[ln].Sold) * amount[data[ln].Product_ID - 1000];
+ }
+ return data as Object[];
+}
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/es5-datasource.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/es5-datasource.js
new file mode 100644
index 000000000..52bd6d32b
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/es5-datasource.js
@@ -0,0 +1,207 @@
+var gData = [
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1001,
+ 'Sold': 2
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1002,
+ 'Sold': 3
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1003,
+ 'Sold': 5
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1004,
+ 'Sold': 1
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1005,
+ 'Sold': 1
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1007,
+ 'Sold': 2
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1008,
+ 'Sold': 1
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1009,
+ 'Sold': 3
+
+ },
+ {
+ 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1003,
+ 'Sold': 3
+ },
+ {
+ 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1002,
+ 'Sold': 4
+
+ },
+ {
+ 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1002,
+ 'Sold': 1
+
+ },
+ {
+ 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1004,
+ 'Sold': 3
+ },
+ {
+ 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1005,
+ 'Sold': 2
+
+ },
+ {
+ 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1006,
+ 'Sold': 4
+
+ },
+ {
+ 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1008,
+ 'Sold': 8
+ },
+ {
+ 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1009,
+ 'Sold': 1
+
+ },
+ {
+ 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1010,
+ 'Sold': 6
+
+ },
+ {
+ 'Date': '2/20/2015 11:25:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1002,
+ 'Sold': 8
+ },
+ {
+ 'Date': '2/20/2015 11:25:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1002,
+ 'Sold': 8
+ },
+ {
+ 'Date': '2/20/2015 11:25:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1002,
+ 'Sold': 8
+ },
+ {
+ 'Date': '3/07/2015 05:11:50 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1001,
+ 'Sold': 4
+ },
+ {
+ 'Date': '3/07/2015 05:11:50 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1001,
+ 'Sold': 4
+ },
+ {
+ 'Date': '3/07/2015 05:11:50 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1001,
+ 'Sold': 4
+
+ },
+ {
+ 'Date': '3/13/2015 05:11:55 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1005,
+ 'Sold': 2
+ },
+ {
+ 'Date': '3/13/2015 05:11:55 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1005,
+ 'Sold': 2
+ },
+ {
+ 'Date': '3/13/2015 05:11:55 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1005,
+ 'Sold': 2
+ },
+ {
+ 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1004,
+ 'Sold': 1
+
+ },
+ {
+ 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1010,
+ 'Sold': 2
+ },
+ {
+ 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1004,
+ 'Sold': 1
+ },
+];
+
+var Group_Data = getGroupData(gData);
+function getGroupData(data) {
+ var date;
+ var products = ['', 'Bottles and Cages', 'Cleaners', 'Fenders', 'Mountain Bikes', 'Road Bikes', 'Touring Bikes', 'Gloves', 'Jerseys', 'Shorts', 'Vests'];
+ var amount = [0, 2, 3, 8, 60, 75, 65, 3, 5, 4, 2];
+ for (var ln = 0, lt = data.length; ln < lt; ln++) {
+ date = new Date(data[ln].Date.toString());
+ data[ln].Date = date.toString();
+ data[ln].Products = products[data[ln].Product_ID - 1000];
+ data[ln].Sold = data[ln].Sold * (date.getFullYear() === 2015 ? 3 : date.getFullYear() === 2016 ? 4 : date.getFullYear() === 2017 ? 2 : 5);
+ data[ln].Amount = ((date.getFullYear() === 2018 ? 2 : 0) + data[ln].Sold) * amount[data[ln].Product_ID - 1000];
+ }
+ return data;
+}
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/index.css b/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/index.css
new file mode 100644
index 000000000..86c21c260
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/index.css
@@ -0,0 +1,12 @@
+#container {
+ visibility: hidden;
+}
+
+#loader {
+ color: #008cff;
+ height: 40px;
+ width: 30%;
+ position: absolute;
+ top: 45%;
+ left: 45%;
+}
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/index.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/index.js
new file mode 100644
index 000000000..0b76270d6
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/index.js
@@ -0,0 +1,24 @@
+var pivotTableObj = new ej.pivotview.PivotView({
+ dataSourceSettings: {
+ dataSource: Group_Data,
+ expandAll: false,
+ enableSorting: true,
+ formatSettings: [{ name: 'Date', type: 'date', format: "EEE, MMM d, ''yy" }],
+ rows: [{ name: 'Date' }],
+ columns: [{ name: 'Product_Categories', caption: 'Product Categories' }],
+ values: [{ name: 'Sold', caption: 'Unit Sold' },
+ { name: 'Amount', caption: 'Sold Amount' }],
+ },
+ allowExcelExport: true,
+ height: 500,
+ width: 1000
+});
+pivotTableObj.appendTo('#PivotTable');
+
+var exportBtn = new ej.buttons.Button({ isPrimary: true });
+exportBtn.appendTo('#excel');
+
+document.getElementById('excel').onclick = function () {
+ pivotTableObj.excelExport();
+};
+
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/index.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/index.ts
new file mode 100644
index 000000000..bf2a26d50
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/index.ts
@@ -0,0 +1,31 @@
+
+
+import { PivotView, IDataSet, ExcelExport } from '@syncfusion/ej2-pivotview';
+import { Group_Data } from './datasource.ts';
+import { Button } from '@syncfusion/ej2-buttons';
+
+PivotView.Inject(ExcelExport);
+let pivotTableObj: PivotView = new PivotView({
+ dataSourceSettings: {
+ dataSource: Group_Data as IDataSet[],
+ expandAll: false,
+ enableSorting: true,
+ formatSettings: [{ name: 'Date', type: 'date', format: "EEE, MMM d, ''yy" }],
+ rows: [{ name: 'Date' }],
+ columns: [{ name: 'Product_Categories', caption: 'Product Categories' }],
+ values: [{ name: 'Sold', caption: 'Unit Sold' },
+ { name: 'Amount', caption: 'Sold Amount' }],
+ },
+ allowExcelExport: true,
+ height: 500,
+ width: 1000
+});
+pivotTableObj.appendTo('#PivotTable');
+
+let exportBtn: Button = new Button({ isPrimary: true });
+exportBtn.appendTo('#excel');
+
+document.getElementById('excel').onclick = function (): void {
+ pivotTableObj.excelExport();
+};
+
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/js/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/js/index.html
new file mode 100644
index 000000000..06286e062
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/js/index.html
@@ -0,0 +1,47 @@
+
+
+
+
+ EJ2 Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/systemjs.config.js
new file mode 100644
index 000000000..4699cc1bd
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/systemjs.config.js
@@ -0,0 +1,47 @@
+System.config({
+ transpiler: "typescript",
+ typescriptOptions: {
+ compilerOptions: {
+ target: "umd",
+ module: "commonjs",
+ moduleResolution: "node",
+ emitDecoratorMetadata: true,
+ experimentalDecorators: true
+ }
+ },
+ paths: {
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
+ },
+ map: {
+ main: "index.ts",
+ typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js",
+ 'plugin-json':'https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js',
+ "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js",
+ "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js",
+ "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js",
+ "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js",
+ "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js",
+ "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js",
+ "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js",
+ "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js",
+ "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js",
+ "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js",
+ "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js",
+ "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js",
+ "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js",
+ "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js",
+ "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js",
+ "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js",
+ "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js",
+ "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js",
+ "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js",
+ },
+ meta: {
+ '*.json': { loader: 'plugin-json' }
+ }
+});
+
+System.import('index.ts').catch(console.error.bind(console)).then(function () {
+ document.getElementById('loader').style.display = "none";
+ document.getElementById('container').style.visibility = "visible";
+});
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/ts/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/ts/index.html
new file mode 100644
index 000000000..5d62df61d
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs33/ts/index.html
@@ -0,0 +1,36 @@
+
+
+
+
+ EJ2 Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/datasource.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/datasource.ts
new file mode 100644
index 000000000..346b44daa
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/datasource.ts
@@ -0,0 +1,157 @@
+export let pivotData: Object[] = [
+ { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }];
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/es5-datasource.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/es5-datasource.js
new file mode 100644
index 000000000..2621ab2fa
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/es5-datasource.js
@@ -0,0 +1,157 @@
+var pivotData = [
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }];
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/index.css b/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/index.css
new file mode 100644
index 000000000..86c21c260
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/index.css
@@ -0,0 +1,12 @@
+#container {
+ visibility: hidden;
+}
+
+#loader {
+ color: #008cff;
+ height: 40px;
+ width: 30%;
+ position: absolute;
+ top: 45%;
+ left: 45%;
+}
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/index.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/index.js
new file mode 100644
index 000000000..6ef398ab7
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/index.js
@@ -0,0 +1,34 @@
+var pivotTableObj = new ej.pivotview.PivotView({
+ dataSourceSettings: {
+ dataSource: pivotData,
+ expandAll: false,
+ enableSorting: true,
+ columns: [{ name: 'Year' }, { name: 'Quarter' }],
+ values: [{ name: 'Sold' }],
+ rows: [{ name: 'Country' }, { name: 'Products' }]
+ },
+ width: '100%',
+ height: 300,
+ allowExcelExport: true,
+ beforeExport: function (args) {
+ for (var i = 0; i < args.dataCollections.length; i++) {
+ var pivotValue = args.dataCollections[i];
+ for (var j = 0; j < pivotValue.length; j++) {
+ var row = pivotValue[j];
+ if (row) {
+ pivotValue[j] = row.filter(function (item) {
+ return item !== null && (item.axis !== 'row');
+ });
+ }
+ }
+ }
+ }
+});
+pivotTableObj.appendTo('#PivotTable');
+
+var exportBtn = new ej.buttons.Button({ isPrimary: true });
+exportBtn.appendTo('#excel');
+
+document.getElementById('excel').onclick = function () {
+ pivotTableObj.excelExport();
+};
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/index.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/index.ts
new file mode 100644
index 000000000..47121f77e
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/index.ts
@@ -0,0 +1,36 @@
+import { PivotView, ExcelExport, IDataSet, BeforeExportEventArgs, IAxisSet } from '@syncfusion/ej2-pivotview';
+import { pivotData } from './datasource.ts';
+import { Button } from '@syncfusion/ej2-buttons';
+
+PivotView.Inject(ExcelExport);
+let pivotTableObj: PivotView = new PivotView({
+ dataSourceSettings: {
+ expandAll: false,
+ dataSource: pivotData as IDataSet[],
+ columns: [{ name: 'Year' }, { name: 'Quarter' }],
+ values: [{ name: 'Sold' }],
+ rows: [{ name: 'Country' }, { name: 'Products' }]
+ },
+ width: '100%',
+ height: 300,
+ showFieldList: true,
+ allowExcelExport: true,
+ beforeExport: function (args: BeforeExportEventArgs): void {
+ for (let i: number = 0; i < args.dataCollections.length; i++) {
+ const pivotValue: IAxisSet[] = args.dataCollections[i];
+ for (let j: number = 0; j < pivotValue.length; j++) {
+ const row: any = pivotValue[j];
+ pivotValue[j] = row.filter((item: any) => {
+ return item !== null && (item.axis !== 'row');
+ });
+ }
+ }
+ }
+});
+pivotTableObj.appendTo('#PivotTable');
+
+let exportBtn: Button = new Button({ isPrimary: true });
+exportBtn.appendTo('#excel');
+document.getElementById('excel').onclick = function (): void {
+ pivotTableObj.excelExport();
+};
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/js/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/js/index.html
new file mode 100644
index 000000000..daf022f22
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/js/index.html
@@ -0,0 +1,49 @@
+
+
+
+
+ EJ2 Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/systemjs.config.js
new file mode 100644
index 000000000..4699cc1bd
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/systemjs.config.js
@@ -0,0 +1,47 @@
+System.config({
+ transpiler: "typescript",
+ typescriptOptions: {
+ compilerOptions: {
+ target: "umd",
+ module: "commonjs",
+ moduleResolution: "node",
+ emitDecoratorMetadata: true,
+ experimentalDecorators: true
+ }
+ },
+ paths: {
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
+ },
+ map: {
+ main: "index.ts",
+ typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js",
+ 'plugin-json':'https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js',
+ "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js",
+ "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js",
+ "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js",
+ "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js",
+ "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js",
+ "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js",
+ "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js",
+ "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js",
+ "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js",
+ "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js",
+ "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js",
+ "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js",
+ "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js",
+ "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js",
+ "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js",
+ "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js",
+ "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js",
+ "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js",
+ "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js",
+ },
+ meta: {
+ '*.json': { loader: 'plugin-json' }
+ }
+});
+
+System.import('index.ts').catch(console.error.bind(console)).then(function () {
+ document.getElementById('loader').style.display = "none";
+ document.getElementById('container').style.visibility = "visible";
+});
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/ts/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/ts/index.html
new file mode 100644
index 000000000..864c92bae
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs34/ts/index.html
@@ -0,0 +1,36 @@
+
+
+
+
+ EJ2 Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/datasource.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/datasource.ts
new file mode 100644
index 000000000..346b44daa
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/datasource.ts
@@ -0,0 +1,157 @@
+export let pivotData: Object[] = [
+ { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }];
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/es5-datasource.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/es5-datasource.js
new file mode 100644
index 000000000..bd3582292
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/es5-datasource.js
@@ -0,0 +1,157 @@
+var pivotData = [
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }];
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/index.css b/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/index.css
new file mode 100644
index 000000000..86c21c260
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/index.css
@@ -0,0 +1,12 @@
+#container {
+ visibility: hidden;
+}
+
+#loader {
+ color: #008cff;
+ height: 40px;
+ width: 30%;
+ position: absolute;
+ top: 45%;
+ left: 45%;
+}
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/index.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/index.js
new file mode 100644
index 000000000..a6fdf21be
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/index.js
@@ -0,0 +1,35 @@
+var pivotTableObj = new ej.pivotview.PivotView({
+ dataSourceSettings: {
+ dataSource: pivotData,
+ expandAll: false,
+ enableSorting: true,
+ columns: [{ name: 'Year' }, { name: 'Quarter' }],
+ values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }],
+ rows: [{ name: 'Country' }, { name: 'Products' }]
+ },
+ width: '100%',
+ height: 300,
+ showFieldList: true,
+ allowExcelExport: true,
+ gridSettings: {
+ columnRender: function (args) {
+ for (var i = 1; i < args.columns.length; i++) {
+ if (args.stackedColumns[i].customAttributes &&
+ args.stackedColumns[i].customAttributes.cell.valueSort.levelName === 'FY 2016.Units Sold') {
+ args.stackedColumns[i].visible = false;
+ }
+ }
+ }
+ }
+});
+pivotTableObj.appendTo('#PivotTable');
+
+var exportBtn = new ej.buttons.Button({ isPrimary: true });
+exportBtn.appendTo('#excel');
+
+document.getElementById('excel').onclick = function () {
+ let excelExportProperties = {
+ includeHiddenColumn: false
+ };
+ pivotTableObj.excelExport(excelExportProperties);
+};
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/index.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/index.ts
new file mode 100644
index 000000000..9ec6b9006
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/index.ts
@@ -0,0 +1,40 @@
+import { PivotView, ExcelExport, IDataSet, ColumnRenderEventArgs, ExcelExportProperties } from '@syncfusion/ej2-pivotview';
+import { pivotData } from './datasource.ts';
+import { Button } from '@syncfusion/ej2-buttons';
+
+PivotView.Inject(ExcelExport);
+let pivotTableObj: PivotView = new PivotView({
+ dataSourceSettings: {
+ dataSource: pivotData as IDataSet[],
+ expandAll: false,
+ enableSorting: true,
+ columns: [{ name: 'Year' }, { name: 'Quarter' }],
+ values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }],
+ rows: [{ name: 'Country' }, { name: 'Products' }]
+ },
+ width: '100%',
+ height: 300,
+ showFieldList: true,
+ allowExcelExport: true,
+ gridSettings: {
+ columnRender: function (args: ColumnRenderEventArgs) {
+ // Specific column(s) can be hidden by checking their level name and setting its visible property accordingly.
+ for (let i = 1; i < args.columns.length; i++) {
+ if (args.stackedColumns[i].customAttributes &&
+ (args.stackedColumns[i].customAttributes.cell as any).valueSort.levelName === 'FY 2016.Units Sold') {
+ args.stackedColumns[i].visible = false;
+ }
+ }
+ }
+ },
+});
+pivotTableObj.appendTo('#PivotTable');
+
+let exportBtn: Button = new Button({ isPrimary: true });
+exportBtn.appendTo('#excel');
+document.getElementById('excel').onclick = function (): void {
+ let excelExportProperties: ExcelExportProperties = {
+ includeHiddenColumn: false
+ };
+ pivotTableObj.excelExport(excelExportProperties);
+};
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/js/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/js/index.html
new file mode 100644
index 000000000..06286e062
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/js/index.html
@@ -0,0 +1,47 @@
+
+
+
+
+ EJ2 Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/systemjs.config.js
new file mode 100644
index 000000000..4699cc1bd
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/systemjs.config.js
@@ -0,0 +1,47 @@
+System.config({
+ transpiler: "typescript",
+ typescriptOptions: {
+ compilerOptions: {
+ target: "umd",
+ module: "commonjs",
+ moduleResolution: "node",
+ emitDecoratorMetadata: true,
+ experimentalDecorators: true
+ }
+ },
+ paths: {
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
+ },
+ map: {
+ main: "index.ts",
+ typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js",
+ 'plugin-json':'https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js',
+ "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js",
+ "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js",
+ "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js",
+ "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js",
+ "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js",
+ "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js",
+ "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js",
+ "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js",
+ "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js",
+ "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js",
+ "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js",
+ "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js",
+ "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js",
+ "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js",
+ "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js",
+ "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js",
+ "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js",
+ "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js",
+ "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js",
+ },
+ meta: {
+ '*.json': { loader: 'plugin-json' }
+ }
+});
+
+System.import('index.ts').catch(console.error.bind(console)).then(function () {
+ document.getElementById('loader').style.display = "none";
+ document.getElementById('container').style.visibility = "visible";
+});
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/ts/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/ts/index.html
new file mode 100644
index 000000000..864c92bae
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs35/ts/index.html
@@ -0,0 +1,36 @@
+
+
+
+
+ EJ2 Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/datasource.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/datasource.ts
new file mode 100644
index 000000000..ba853ac94
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/datasource.ts
@@ -0,0 +1,158 @@
+export let pivotData: Object[] = [
+ { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }];
+
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/es5-datasource.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/es5-datasource.js
new file mode 100644
index 000000000..bd3582292
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/es5-datasource.js
@@ -0,0 +1,157 @@
+var pivotData = [
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }];
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/index.css b/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/index.css
new file mode 100644
index 000000000..86c21c260
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/index.css
@@ -0,0 +1,12 @@
+#container {
+ visibility: hidden;
+}
+
+#loader {
+ color: #008cff;
+ height: 40px;
+ width: 30%;
+ position: absolute;
+ top: 45%;
+ left: 45%;
+}
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/index.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/index.js
new file mode 100644
index 000000000..c2d17f7bf
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/index.js
@@ -0,0 +1,38 @@
+var pivotTableObj = new ej.pivotview.PivotView({
+ dataSourceSettings: {
+ dataSource: pivotData,
+ expandAll: false,
+ enableSorting: true,
+ columns: [{ name: 'Year' }],
+ values: [{ name: 'Sold' }],
+ rows: [{ name: 'Country' }, { name: 'Products' }]
+ },
+ width: '100%',
+ height: 300,
+ showFieldList: true,
+ allowExcelExport: true,
+ gridSettings: {
+ excelHeaderQueryCellInfo: function (args) {
+ args.style = { rotation: dropDownListObject.value };
+ },
+ excelQueryCellInfo: function (args) {
+ args.style = { rotation: dropDownListObject.value };
+ }
+ }
+});
+pivotTableObj.appendTo('#PivotTable');
+
+var exportBtn = new ej.buttons.Button({ isPrimary: true });
+exportBtn.appendTo('#excel');
+
+var degree = [90, 135, 180, 270];
+var dropDownListObject = new ej.dropdowns.DropDownList({
+ dataSource: degree,
+ placeholder: "Select a degree",
+ width: 120
+});
+dropDownListObject.appendTo('#ddlelement');
+
+document.getElementById('excel').onclick = function () {
+ pivotTableObj.excelExport();
+};
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/index.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/index.ts
new file mode 100644
index 000000000..a9e9f4a62
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/index.ts
@@ -0,0 +1,45 @@
+import { PivotView, ExcelExport, IDataSet } from '@syncfusion/ej2-pivotview';
+import { ExcelHeaderQueryCellInfoEventArgs, ExcelQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';
+import { pivotData } from './datasource.ts';
+import { Button } from '@syncfusion/ej2-buttons';
+import { DropDownList } from '@syncfusion/ej2-dropdowns';
+
+PivotView.Inject(ExcelExport);
+let pivotTableObj: PivotView = new PivotView({
+ dataSourceSettings: {
+ expandAll: false,
+ dataSource: pivotData as IDataSet[],
+ columns: [{ name: 'Year' }],
+ values: [{ name: 'Sold' }],
+ rows: [{ name: 'Country' }, { name: 'Products' }]
+
+ },
+ width: '100%',
+ height: 300,
+ showFieldList: true,
+ allowExcelExport: true,
+ gridSettings: {
+ excelHeaderQueryCellInfo: function (args: ExcelHeaderQueryCellInfoEventArgs): void {
+ args.style = { rotation: dropDownListObject.value as number };
+ },
+ excelQueryCellInfo: function (args: ExcelQueryCellInfoEventArgs): void {
+ args.style = { rotation: dropDownListObject.value as number };
+ }
+ }
+});
+pivotTableObj.appendTo('#PivotTable');
+
+let exportBtn: Button = new Button({ isPrimary: true });
+exportBtn.appendTo('#excel');
+
+let degree = [90, 135, 180, 270];
+let dropDownListObject: DropDownList = new DropDownList({
+ dataSource: degree,
+ placeholder: 'Select a degree',
+ width: 120
+});
+dropDownListObject.appendTo('#ddlelement');
+
+document.getElementById('excel').onclick = function (): void {
+ pivotTableObj.excelExport();
+};
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/js/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/js/index.html
new file mode 100644
index 000000000..0760ee40b
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/js/index.html
@@ -0,0 +1,49 @@
+
+
+
+
+ EJ2 Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Select a degree:
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/systemjs.config.js
new file mode 100644
index 000000000..4699cc1bd
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/systemjs.config.js
@@ -0,0 +1,47 @@
+System.config({
+ transpiler: "typescript",
+ typescriptOptions: {
+ compilerOptions: {
+ target: "umd",
+ module: "commonjs",
+ moduleResolution: "node",
+ emitDecoratorMetadata: true,
+ experimentalDecorators: true
+ }
+ },
+ paths: {
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
+ },
+ map: {
+ main: "index.ts",
+ typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js",
+ 'plugin-json':'https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js',
+ "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js",
+ "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js",
+ "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js",
+ "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js",
+ "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js",
+ "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js",
+ "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js",
+ "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js",
+ "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js",
+ "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js",
+ "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js",
+ "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js",
+ "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js",
+ "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js",
+ "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js",
+ "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js",
+ "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js",
+ "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js",
+ "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js",
+ },
+ meta: {
+ '*.json': { loader: 'plugin-json' }
+ }
+});
+
+System.import('index.ts').catch(console.error.bind(console)).then(function () {
+ document.getElementById('loader').style.display = "none";
+ document.getElementById('container').style.visibility = "visible";
+});
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/ts/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/ts/index.html
new file mode 100644
index 000000000..d40ac1fa1
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs36/ts/index.html
@@ -0,0 +1,38 @@
+
+
+
+
+ EJ2 Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
Select a degree:
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/datasource.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/datasource.ts
new file mode 100644
index 000000000..866e0c341
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/datasource.ts
@@ -0,0 +1,157 @@
+export let pivotData: Object[] = [
+ { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }];
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/es5-datasource.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/es5-datasource.js
new file mode 100644
index 000000000..e9f616bbb
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/es5-datasource.js
@@ -0,0 +1,158 @@
+var pivotData = [
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }];
+
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/index.css b/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/index.css
new file mode 100644
index 000000000..86c21c260
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/index.css
@@ -0,0 +1,12 @@
+#container {
+ visibility: hidden;
+}
+
+#loader {
+ color: #008cff;
+ height: 40px;
+ width: 30%;
+ position: absolute;
+ top: 45%;
+ left: 45%;
+}
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/index.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/index.js
new file mode 100644
index 000000000..05f6f98fb
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/index.js
@@ -0,0 +1,42 @@
+var pivotTableObj = new ej.pivotview.PivotView({
+ dataSourceSettings: {
+ dataSource: pivotData,
+ expandAll: false,
+ columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }],
+ values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }],
+ rows: [{ name: 'Country' }, { name: 'Products' }],
+ },
+ width: '100%',
+ height: 300,
+ allowExcelExport: true,
+ gridSettings: {
+ excelQueryCellInfo: function (args) {
+ if (args.cell && args.cell.actualText === 'Sold') {
+ if (args.value < 700) {
+ args.style = {
+ backColor: '#df3800',
+ fontName: 'Biome',
+ fontColor: '#FFFFFF',
+ borders: { color: '#8B1E00', lineStyle: 'thin' }
+ };
+ }
+ else {
+ args.style = {
+ backColor: '#00A45A',
+ fontName: 'Nirmala UI',
+ fontColor: '#FFFFFF',
+ borders: { color: '#00663A', lineStyle: 'thin' }
+ };
+ }
+ }
+ }
+ }
+});
+pivotTableObj.appendTo('#PivotTable');
+
+var exportBtn = new ej.buttons.Button({ isPrimary: true });
+exportBtn.appendTo('#excel');
+
+document.getElementById('excel').onclick = function () {
+ pivotTableObj.excelExport();
+};
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/index.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/index.ts
new file mode 100644
index 000000000..8475e018d
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/index.ts
@@ -0,0 +1,47 @@
+import { PivotView, ExcelExport, IDataSet } from '@syncfusion/ej2-pivotview';
+import { ExcelQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';
+import { pivotData } from './datasource.ts';
+import { Button } from '@syncfusion/ej2-buttons';
+
+PivotView.Inject(ExcelExport);
+let pivotTableObj: PivotView = new PivotView({
+ dataSourceSettings: {
+ dataSource: pivotData as IDataSet[],
+ expandAll: false,
+ columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }],
+ values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }],
+ rows: [{ name: 'Country' }, { name: 'Products' }],
+ },
+ width: '100%',
+ height: 300,
+ allowExcelExport: true,
+ gridSettings: {
+ excelQueryCellInfo: function (args: ExcelQueryCellInfoEventArgs): void {
+ if (args.cell && (args.cell as any).actualText === 'Sold') {
+ if ((args as any).value < 700) {
+ args.style = {
+ backColor: '#df3800',
+ fontName: 'Biome',
+ fontColor: '#FFFFFF',
+ borders: { color: '#8B1E00', lineStyle: 'thin' }
+ };
+ } else {
+ args.style = {
+ backColor: '#00A45A',
+ fontName: 'Nirmala UI',
+ fontColor: '#FFFFFF',
+ borders: { color: '#00663A', lineStyle: 'thin' }
+ };
+ }
+ }
+ }
+ }
+});
+pivotTableObj.appendTo('#PivotTable');
+
+let exportBtn: Button = new Button({ isPrimary: true });
+exportBtn.appendTo('#excel');
+
+document.getElementById('excel').onclick = function (): void {
+ pivotTableObj.excelExport();
+};
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/js/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/js/index.html
new file mode 100644
index 000000000..cae632314
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/js/index.html
@@ -0,0 +1,47 @@
+
+
+
+
+ EJ2 Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/systemjs.config.js
new file mode 100644
index 000000000..4699cc1bd
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/systemjs.config.js
@@ -0,0 +1,47 @@
+System.config({
+ transpiler: "typescript",
+ typescriptOptions: {
+ compilerOptions: {
+ target: "umd",
+ module: "commonjs",
+ moduleResolution: "node",
+ emitDecoratorMetadata: true,
+ experimentalDecorators: true
+ }
+ },
+ paths: {
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
+ },
+ map: {
+ main: "index.ts",
+ typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js",
+ 'plugin-json':'https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js',
+ "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js",
+ "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js",
+ "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js",
+ "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js",
+ "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js",
+ "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js",
+ "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js",
+ "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js",
+ "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js",
+ "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js",
+ "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js",
+ "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js",
+ "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js",
+ "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js",
+ "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js",
+ "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js",
+ "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js",
+ "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js",
+ "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js",
+ },
+ meta: {
+ '*.json': { loader: 'plugin-json' }
+ }
+});
+
+System.import('index.ts').catch(console.error.bind(console)).then(function () {
+ document.getElementById('loader').style.display = "none";
+ document.getElementById('container').style.visibility = "visible";
+});
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/ts/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/ts/index.html
new file mode 100644
index 000000000..864c92bae
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs37/ts/index.html
@@ -0,0 +1,36 @@
+
+
+
+
+ EJ2 Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs38/index.css b/ej2-javascript/code-snippet/pivot-table/excel-export-cs38/index.css
new file mode 100644
index 000000000..247eeb734
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs38/index.css
@@ -0,0 +1,74 @@
+#container {
+ visibility: hidden;
+}
+
+#loader {
+ color: #008cff;
+ height: 40px;
+ width: 30%;
+ position: absolute;
+ top: 45%;
+ left: 45%;
+}
+
+.e-custom-class {
+ color: #008cff;
+ text-decoration: underline;
+}
+
+.e-custom-class:hover {
+ color: red;
+ text-decoration: none;
+}
+
+.e-pivotview .e-columnsheader .tempwrap {
+ display: none;
+}
+.e-pivotview .e-rowsheader .tempwrap {
+ display: none;
+}
+
+/* csslint ignore:start */
+@font-face {
+ font-family: 'e-pivot';
+ src:
+ url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAAKAIAAAwAgT1MvMjhUSmAAAAEoAAAAVmNtYXCs3q0zAAABkAAAAEpnbHlmdaItOwAAAegAAAE0aGVhZBRYEz0AAADQAAAANmhoZWEHmQNtAAAArAAAACRobXR4D7gAAAAAAYAAAAAQbG9jYQDAAHIAAAHcAAAACm1heHABDwBBAAABCAAAACBuYW1lc0cOBgAAAxwAAAIlcG9zdK9TctUAAAVEAAAARwABAAADUv9qAFoEAAAA//4D6gABAAAAAAAAAAAAAAAAAAAABAABAAAAAQAAT8kba18PPPUACwPoAAAAANin5zgAAAAA2KfnOAAAAAAD6gPoAAAACAACAAAAAAAAAAEAAAAEADUAAQAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAQPuAZAABQAAAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA4jToTQNS/2oAWgPoAJYAAAABAAAAAAAABAAAAAPoAAAD6AAAA+gAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQANgAAAAgACAACAADiNOI56E3//wAA4jTiOehN//8AAAAAAAAAAQAIAAgACAAAAAEAAwACAAAAAAAAACYAcgCaAAAAAQAAAAADTAPoABUAAAkBBhY7AREUFjsBMjY1ETMyNicBJiIB3f7KCw4SxxAMqgwQxhIPC/7FCBgD3/6tDyH9wAwQEAwCQCEPAVMJAAEAAAAAA+oDTAA0AAABMx8BAR8DDwMBDwMjLwwhLwE1NzUnPwEhPwQ1PwQCXgIFCQFxBAIEAgEDBAf+ogYKBQUEAwQDAwICAQIBAQYJCf3mAgEDAgEBAh4KCAQCAQICAgIDA0wBBf7VAwQJCQkJCQf+4QQGAgEBAQIDBAQFC50DBAQDAQICCuANAgECBQIDAqcMBQQDAQAAAQAAAAADTAPoABYAAAEGFREjIgYXARYyNwE2JisBETQmKwEiAYsIxhIPDAE5CRgJATUMDhPGEAyqDAPgCAz9wCEP/q0JCQFTDyECQAwQAAAAABIA3gABAAAAAAAAAAEAAAABAAAAAAABAAcAAQABAAAAAAACAAcACAABAAAAAAADAAcADwABAAAAAAAEAAcAFgABAAAAAAAFAAsAHQABAAAAAAAGAAcAKAABAAAAAAAKACwALwABAAAAAAALABIAWwADAAEECQAAAAIAbQADAAEECQABAA4AbwADAAEECQACAA4AfQADAAEECQADAA4AiwADAAEECQAEAA4AmQADAAEECQAFABYApwADAAEECQAGAA4AvQADAAEECQAKAFgAywADAAEECQALACQBIyBlLWljb25zUmVndWxhcmUtaWNvbnNlLWljb25zVmVyc2lvbiAxLjBlLWljb25zRm9udCBnZW5lcmF0ZWQgdXNpbmcgU3luY2Z1c2lvbiBNZXRybyBTdHVkaW93d3cuc3luY2Z1c2lvbi5jb20AIABlAC0AaQBjAG8AbgBzAFIAZQBnAHUAbABhAHIAZQAtAGkAYwBvAG4AcwBlAC0AaQBjAG8AbgBzAFYAZQByAHMAaQBvAG4AIAAxAC4AMABlAC0AaQBjAG8AbgBzAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAHUAcwBpAG4AZwAgAFMAeQBuAGMAZgB1AHMAaQBvAG4AIABNAGUAdAByAG8AIABTAHQAdQBkAGkAbwB3AHcAdwAuAHMAeQBuAGMAZgB1AHMAaQBvAG4ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAgEDAQQBBQADVXAxC2Fycm93LXJpZ2h0CURvd25fU29ydAAAAA==) format('truetype');
+ font-weight: normal;
+ font-style: normal;
+}
+
+.pv-icons {
+ font-family: 'e-pivot';
+ font-style: normal;
+ font-variant: normal;
+ font-weight: normal;
+ text-transform: none;
+ line-height: 1;
+}
+
+.sb-icon-profit::before {
+ content: '\e234';
+ padding-left: 30px;
+ margin: auto !important;
+ color: #219122;
+ size: 20px;
+}
+
+.sb-icon-neutral::before {
+ content: '\e84d';
+ padding-left: 30px;
+ margin: auto !important;
+ color: #82b5e9;
+}
+
+.sb-icon-loss::before {
+ content: '\e239';
+ padding-left: 30px;
+ margin: auto !important;
+ color: #ff2222;
+}
+
+/* csslint ignore:end */
+.e-tool-expand::before {
+ content: '\e702';
+}
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs38/index.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs38/index.js
new file mode 100644
index 000000000..59a9a5158
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs38/index.js
@@ -0,0 +1,53 @@
+var names = ['TOM', 'Hawk', 'Jon', 'Chandler', 'Monica', 'Rachel', 'Phoebe', 'Gunther',
+ 'Ross', 'Geller', 'Joey', 'Bing', 'Tribbiani', 'Janice', 'Bong', 'Perk', 'Green', 'Ken', 'Adams'];
+var city = ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Philadelphia', 'Phoenix', 'San Antonio', 'Austin',
+ 'San Francisco', 'Columbus', 'Washington', 'Portland', 'Oklahoma', 'Las Vegas', 'Virginia', 'St. Louis', 'Birmingham'];
+var hours = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
+var rating = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
+var designation = ['Manager', 'Engineer 1', 'Engineer 2', 'Developer', 'Tester'];
+var status = ['Completed', 'Open', 'In Progress', 'Review', 'Testing'];
+var time = 0;
+var data = function (count) {
+ var result = [];
+ for (var i = 0; i < count; i++) {
+ result.push({
+ TaskID: i + 1,
+ Engineer: names[Math.round(Math.random() * names.length)] || names[0],
+ City: names[Math.round(Math.random() * city.length)] || city[0],
+ Designation: designation[Math.round(Math.random() * designation.length)] || designation[0],
+ Estimation: hours[Math.round(Math.random() * hours.length)] || hours[0],
+ Rating: hours[Math.round(Math.random() * rating.length)] || rating[0],
+ Status: status[Math.round(Math.random() * status.length)] || status[0]
+ });
+ }
+ time = new Date().getTime();
+ return result;
+};
+
+var pivotTableObj = new ej.pivotview.PivotView({
+ dataSourceSettings: {
+ dataSource: data(10000),
+ expandAll: false,
+ rows: [{ name: 'TaskID' }, { name: 'Status' }],
+ columns: [{ name: 'Designation' }],
+ values: [{ name: 'Estimation' }, { name: 'Rating' }]
+ },
+ width: 1200,
+ height: 400,
+ enableVirtualization: true,
+ allowExcelExport: true,
+ exportComplete: function () {
+ pivotTableObj.hideWaitingPopup();
+ }
+});
+pivotTableObj.appendTo('#PivotTable');
+
+var exportBtn = new ej.buttons.Button({ isPrimary: true });
+exportBtn.appendTo('#excel');
+
+document.getElementById('excel').onclick = function () {
+ pivotTableObj.showWaitingPopup();
+ setTimeout(function () {
+ pivotTableObj.excelExport();
+ });
+};
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs38/index.ts b/ej2-javascript/code-snippet/pivot-table/excel-export-cs38/index.ts
new file mode 100644
index 000000000..58e36a54e
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs38/index.ts
@@ -0,0 +1,56 @@
+import { PivotView, ExcelExport, IDataSet, VirtualScroll } from '@syncfusion/ej2-pivotview';
+import { Button } from '@syncfusion/ej2-buttons';
+
+let names: string[] = ['TOM', 'Hawk', 'Jon', 'Chandler', 'Monica', 'Rachel', 'Phoebe', 'Gunther',
+ 'Ross', 'Geller', 'Joey', 'Bing', 'Tribbiani', 'Janice', 'Bong', 'Perk', 'Green', 'Ken', 'Adams'];
+let city: string[] = ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Philadelphia', 'Phoenix', 'San Antonio', 'Austin',
+ 'San Francisco', 'Columbus', 'Washington', 'Portland', 'Oklahoma', 'Las Vegas', 'Virginia', 'St. Louis', 'Birmingham']
+let hours: number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
+let rating: number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
+let designation: string[] = ['Manager', 'Engineer 1', 'Engineer 2', 'Developer', 'Tester'];
+let status: string[] = ['Completed', 'Open', 'In Progress', 'Review', 'Testing'];
+let time: number = 0;
+let data: Function = (count: number) => {
+ let result: Object[] = [];
+ for (let i: number = 0; i < count; i++) {
+ result.push({
+ TaskID: i + 1,
+ Engineer: names[Math.round(Math.random() * names.length)] || names[0],
+ City: names[Math.round(Math.random() * city.length)] || city[0],
+ Designation: designation[Math.round(Math.random() * designation.length)] || designation[0],
+ Estimation: hours[Math.round(Math.random() * hours.length)] || hours[0],
+ Rating: hours[Math.round(Math.random() * rating.length)] || rating[0],
+ Status: status[Math.round(Math.random() * status.length)] || status[0]
+ });
+ }
+ time = new Date().getTime();
+ return result;
+};
+
+PivotView.Inject(VirtualScroll, ExcelExport);
+let pivotGridObj: PivotView = new PivotView({
+ dataSourceSettings: {
+ dataSource: data(10000) as IDataSet[],
+ expandAll: false,
+ rows: [{ name: 'TaskID' }, { name: 'Status' }],
+ columns: [{ name: 'Designation' }],
+ values: [{ name: 'Estimation' }, { name: 'Rating' }]
+ },
+ width: 1200,
+ height: 400,
+ enableVirtualization: true,
+ allowExcelExport: true,
+ exportComplete: function (): void {
+ pivotGridObj.hideWaitingPopup();
+ }
+});
+pivotGridObj.appendTo('#PivotTable');
+
+let exportBtn: Button = new Button({ isPrimary: true });
+exportBtn.appendTo('#excel');
+document.getElementById('excel').onclick = function (): void {
+ pivotGridObj.showWaitingPopup();
+ setTimeout(() => {
+ pivotGridObj.excelExport();
+ });
+};
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs38/js/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs38/js/index.html
new file mode 100644
index 000000000..06286e062
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs38/js/index.html
@@ -0,0 +1,47 @@
+
+
+
+
+ EJ2 Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs38/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs38/systemjs.config.js
new file mode 100644
index 000000000..4699cc1bd
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs38/systemjs.config.js
@@ -0,0 +1,47 @@
+System.config({
+ transpiler: "typescript",
+ typescriptOptions: {
+ compilerOptions: {
+ target: "umd",
+ module: "commonjs",
+ moduleResolution: "node",
+ emitDecoratorMetadata: true,
+ experimentalDecorators: true
+ }
+ },
+ paths: {
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
+ },
+ map: {
+ main: "index.ts",
+ typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js",
+ 'plugin-json':'https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js',
+ "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js",
+ "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js",
+ "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js",
+ "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js",
+ "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js",
+ "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js",
+ "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js",
+ "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js",
+ "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js",
+ "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js",
+ "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js",
+ "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js",
+ "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js",
+ "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js",
+ "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js",
+ "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js",
+ "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js",
+ "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js",
+ "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js",
+ },
+ meta: {
+ '*.json': { loader: 'plugin-json' }
+ }
+});
+
+System.import('index.ts').catch(console.error.bind(console)).then(function () {
+ document.getElementById('loader').style.display = "none";
+ document.getElementById('container').style.visibility = "visible";
+});
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs38/ts/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs38/ts/index.html
new file mode 100644
index 000000000..864c92bae
--- /dev/null
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs38/ts/index.html
@@ -0,0 +1,36 @@
+
+
+
+
+ EJ2 Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
+
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs9/js/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs9/js/index.html
index 6e7d68ac4..834321a1f 100644
--- a/ej2-javascript/code-snippet/pivot-table/excel-export-cs9/js/index.html
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs9/js/index.html
@@ -8,19 +8,19 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs9/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/excel-export-cs9/systemjs.config.js
index b48559eac..6d19ef5e9 100644
--- a/ej2-javascript/code-snippet/pivot-table/excel-export-cs9/systemjs.config.js
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs9/systemjs.config.js
@@ -10,7 +10,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
},
map: {
main: "index.ts",
diff --git a/ej2-javascript/code-snippet/pivot-table/excel-export-cs9/ts/index.html b/ej2-javascript/code-snippet/pivot-table/excel-export-cs9/ts/index.html
index b730e8582..9d252bb4a 100644
--- a/ej2-javascript/code-snippet/pivot-table/excel-export-cs9/ts/index.html
+++ b/ej2-javascript/code-snippet/pivot-table/excel-export-cs9/ts/index.html
@@ -8,17 +8,17 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ej2-javascript/markdown-converter/convert-markdown-to-html.md b/ej2-javascript/markdown-converter/convert-markdown-to-html.md
new file mode 100644
index 000000000..601d10f3c
--- /dev/null
+++ b/ej2-javascript/markdown-converter/convert-markdown-to-html.md
@@ -0,0 +1,78 @@
+---
+layout: post
+title: Markdown to HTML ##Platform_Name## Markdown Converter | Syncfusion
+description: Learn how to convert Markdown to HTML using ##Platform_Name## Markdown Converter in Syncfusion Essential JS 2 with customization options and examples.
+platform: ej2-javascript
+control: Markdown Converter
+publishingplatform: ##Platform_Name##
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Convert Markdown To HTML using Markdown Converter
+
+The Markdown Converter is a simple and fast tool that converts Markdown text into clean HTML. This makes it easy to display well-structured content on web pages and applications with consistent formatting.
+
+The conversion is handled by the `toHtml` method, which takes Markdown as input and returns the corresponding HTML. It supports all common Markdown elements like headings, lists, tables, links, images, and inline styles.
+
+Here is the example code snippet of Markdown Converter:
+
+```typescript
+
+import { MarkdownConverter } from '@syncfusion/ej2-markdown-converter';
+
+const markdownContent = '# Hello World\nThis is **Markdown** text.';
+// Convert Markdown to HTML
+const htmlOutput = MarkdownConverter.toHtml(markdownContent);
+console.log(htmlOutput);
+
+```
+
+## Configurable Options for Markdown Converter
+
+The `Markdown Converter` provides several options to customize the conversion process. These options are passed as part of the configuration when calling the `toHtml` method. By using these options, you can control how Markdown is parsed and rendered into HTML.
+
+```typescript
+MarkdownConverter.toHtml(markdownContent: string, options?: MarkdownConverterOptions);
+```
+
+### Markdown Converter Options
+
+| **Option** | **Description** | **Type** | **Default** |
+|--------------|---------------------------------------------------------------------------------------------------|------------|-------------|
+| `async` | Enables or disables **asynchronous conversion** for large content processing. | `boolean` | `false` |
+| `gfm` | Enables or disables support for **GitHub Flavored Markdown (GFM)**. | `boolean` | `true` |
+| `lineBreak` | Enables or disables conversion of **single line breaks** into ` ` elements. | `boolean` | `false` |
+| `silence` | Enables or disables **error suppression**, skipping invalid Markdown instead of throwing errors. | `boolean` | `false` |
+
+
+The below sample demonstrates how to use the [Syncfusion Markdown Editor](https://ej2.syncfusion.com/documentation/markdown-editor/getting-started) along with the Markdown Converter to convert Markdown content into HTML with configurable options. This setup allows real-time editing and preview of the converted output.
+
+To make the experience seamless, the [Syncfusion Splitter control](https://ej2.syncfusion.com/documentation/splitter/split-panes) is used to display the editor and preview side-by-side.
+
+{% if page.publishingplatform == "typescript" %}
+
+{% tabs %}
+{% highlight ts tabtitle="index.ts" %}
+{% include code-snippet/markdown-converter/markdown-converter-overview/index.ts %}
+{% endhighlight %}
+{% highlight html tabtitle="index.html" %}
+{% include code-snippet/markdown-converter/markdown-converter-overview/index.html %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/markdown-converter/markdown-converter-overview" %}
+
+{% elsif page.publishingplatform == "javascript" %}
+
+{% tabs %}
+{% highlight js tabtitle="index.js" %}
+{% include code-snippet/markdown-converter/markdown-converter-overview/index.js %}
+{% endhighlight %}
+{% highlight html tabtitle="index.html" %}
+{% include code-snippet/markdown-converter/markdown-converter-overview/index.html %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/markdown-converter/markdown-converter-overview" %}
+{% endif %}
diff --git a/ej2-javascript/markdown-converter/js/getting-started.md b/ej2-javascript/markdown-converter/js/getting-started.md
new file mode 100644
index 000000000..3848ff103
--- /dev/null
+++ b/ej2-javascript/markdown-converter/js/getting-started.md
@@ -0,0 +1,134 @@
+---
+layout: post
+title: Getting started with ##Platform_Name## Markdown Converter | Syncfusion
+description: Checkout and learn about Getting started with ##Platform_Name## Markdown Converter of Syncfusion Essential JS 2 and more details.
+platform: ej2-javascript
+control: Getting started
+publishingplatform: ##Platform_Name##
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Getting started in ##Platform_Name## Markdown Converter
+
+This section explains how to create and configure a simple Markdown Converter.
+
+## Dependencies
+
+The following dependency is required to use the `Markdown Converter` in the application.
+
+```javascript
+ @syncfusion/ej2-markdown-converter
+```
+
+## Setup for local development
+
+Refer to the following steps to set up your local environment.
+
+**Step 1**: Create an app folder `my-app` for your project.
+
+**Step 2:** Create a `my-app/resources` folder to store local scripts and styles files.
+
+**Step 3:** Open Visual Studio Code and create `my-app/index.js` and `my-app/index.html` files for using the Essential JS 2 Markdown Converter.
+
+## Adding Syncfusion resources
+
+The Essential JS 2 JavaScript controls can be initialized by using either of the following ways.
+
+* Using local script
+* Using CDN link for script
+
+### Using local script
+
+**1. Download Essential Studio JavaScript (Essential JS 2):** Obtain the global scripts and styles from the [Essential Studio JavaScript (Essential JS 2)](https://www.syncfusion.com/downloads/essential-js2) build installed location.
+
+**2. Locate Script File:** After installing the Essential JS 2 product build, identify the location of the Markdown Converter’s script file. The syntax for the file paths is as follows:
+
+**Syntax:**
+> Script: `**(installed location)**/Syncfusion/Essential Studio/{RELEASE_VERSION}/Essential JS 2/{PACKAGE_NAME}/dist/global/{PACKAGE_NAME}.min.js`
+>
+
+**Example:**
+
+> Script: [C:/Program Files (x86)/Syncfusion/Essential Studio/32.1.19/Essential JS 2/ej2-markdown-converter/dist/global/ej2-markdown-converter.min.js]()
+>
+
+**3. Copy Files to Resources Folder:** Copy/paste the global scripts from the above installed location to `my-app/resources` location.
+
+**4. Referencing in HTML File** Reference the Markdown Converter’s scripts into the **index.html** file.
+
+Here’s an example of referencing the Markdown Converter’s script in an HTML file:
+
+**a.Essential Dependency**
+
+This setup includes the scrip that required to include the Syncfusion Markdown Converter. Use this setup for a application that requires a lightweight Markdown Converter functionality
+
+```html
+
+
+
+ Essential JS 2 Markdown Converter
+
+
+
+
+
+
+```
+
+### Using CDN link for script
+
+Using CDN link, you can directly refer the Markdown Converter’s script into the `index.html`.
+
+Refer the Markdown Converter’s CDN link as below.
+
+**Syntax:**
+> Script:`http://cdn.syncfusion.com/ej2/{PACKAGE_NAME}/dist/global/{PACKAGE_NAME}.min.js`
+>
+
+**Example:**
+> Script: [http://cdn.syncfusion.com/ej2/ej2-markdown-converter/dist/global/ej2-markdown-converter.min.js](http://cdn.syncfusion.com/ej2/ej2-markdown-converter/dist/global/ej2-markdown-converter.min.js)
+
+**a.Essential Dependency**
+
+This setup includes the scrip that required to include the Syncfusion Markdown Converter. Use this setup for a application that requires a lightweight Markdown Converter functionality
+
+```html
+
+
+
+ Essential JS 2 Markdown Converter
+
+
+
+
+
+
+
+```
+
+## Overview of Markdown Converter
+
+The Markdown Converter is a lightweight and efficient utility designed to transform Markdown formatted text into clean, semantic HTML. This conversion enables users to render structured content seamlessly across web pages and applications, ensuring better readability and consistent formatting
+
+The core functionality of the Markdown Converter is powered by the `toHtml` method. This method accepts Markdown content as input and returns the corresponding HTML string.
+
+To demonstrate the functionality of a Markdown Converter, we have provided a sample implementation using [Syncfusion Markdown Editor](https://ej2.syncfusion.com/documentation/markdown-editor/getting-started). This example showcases how you can seamlessly edit Markdown content and preview the converted HTML output.
+
+{% if page.publishingplatform == "javascript" %}
+
+{% tabs %}
+{% highlight js tabtitle="index.js" %}
+{% include code-snippet/markdown-converter/markdown-converter-default/index.js %}
+{% endhighlight %}
+{% highlight html tabtitle="index.html" %}
+{% include code-snippet/markdown-converter/markdown-converter-default/index.html %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/markdown-converter/markdown-converter-default" %}
+{% endif %}
+
+## See also
+
+* [How to convert markdown to html with configurable options](convert-markdown-to-html)
\ No newline at end of file
diff --git a/ej2-javascript/markdown-converter/ts/getting-started.md b/ej2-javascript/markdown-converter/ts/getting-started.md
new file mode 100644
index 000000000..91dec2cab
--- /dev/null
+++ b/ej2-javascript/markdown-converter/ts/getting-started.md
@@ -0,0 +1,59 @@
+---
+layout: post
+title: Getting started with ##Platform_Name## Markdown Converter | Syncfusion
+description: Checkout and learn about Getting started with ##Platform_Name## Markdown Converter of Syncfusion Essential JS 2 and more details.
+platform: ej2-javascript
+control: Getting started
+publishingplatform: ##Platform_Name##
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Getting started in ##Platform_Name## Markdown Converter
+
+This section explains how to create and configure a simple `Markdown Converter` and demonstrates its basic usage in a application.
+
+## Dependencies
+
+The following dependency is required to use the Markdown Converter.
+
+```javascript
+ @syncfusion/ej2-markdown-converter
+```
+
+## Add Syncfusion JavaScript Markdown Converter package
+
+Syncfusion JavaScript (Essential JS 2) `Markdown Converter` package is available as a standalone package on the [npmjs.com](https://www.npmjs.com/~syncfusionorg) public registry. You can install it using the following command:
+
+{% tabs %}
+{% highlight bash tabtitle="NPM" %}
+npm install @syncfusion/ej2-markdown-converter
+{% endhighlight %}
+{% endtabs %}
+
+
+## Overview of Markdown Converter
+
+The Markdown Converter is a lightweight and efficient utility designed to transform Markdown formatted text into clean, semantic HTML. This conversion enables users to render structured content seamlessly across web pages and applications, ensuring better readability and consistent formatting
+
+The core functionality of the Markdown Converter is powered by the `toHtml` method. This method accepts Markdown content as input and returns the corresponding HTML string.
+
+To demonstrate the functionality of a Markdown Converter, we have provided a sample implementation using [Syncfusion Markdown Editor](https://ej2.syncfusion.com/documentation/markdown-editor/getting-started). This example showcases how you can seamlessly edit Markdown content and preview the converted HTML output.
+
+{% if page.publishingplatform == "typescript" %}
+
+{% tabs %}
+{% highlight ts tabtitle="index.ts" %}
+{% include code-snippet/markdown-converter/markdown-converter-default/index.ts %}
+{% endhighlight %}
+{% highlight html tabtitle="index.html" %}
+{% include code-snippet/markdown-converter/markdown-converter-default/index.html %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/markdown-converter/markdown-converter-default" %}
+{% endif %}
+
+## See also
+
+* [How to convert markdown to html with configurable options](convert-markdown-to-html)
\ No newline at end of file
diff --git a/ej2-javascript/pivotview/js/excel-export.md b/ej2-javascript/pivotview/js/excel-export.md
index 033436835..84d8c8a95 100644
--- a/ej2-javascript/pivotview/js/excel-export.md
+++ b/ej2-javascript/pivotview/js/excel-export.md
@@ -11,7 +11,11 @@ domainurl: ##DomainURL##
# Excel export in ##Platform_Name## Pivot Table component
-The Excel export allows pivot table data to export as Excel document. To enable Excel export in the pivot table, set the `allowExcelExport` as **true**. You need to use the `excelExport` method for Excel exporting.
+The Pivot Table component supports exporting pivot data to **Excel** and **CSV** file formats. This enables data sharing and analysis in spreadsheet applications such as Microsoft Excel, Google Sheets, and more. To enable the export functionality, set the [`allowExcelExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#allowexcelexport) property to **true**.
+
+## Export data to an Excel file
+
+Pivot Table data can be exported to an Excel file (.xlsx format) while preserving all formatting and structure. This format is compatible with Microsoft Excel and other spreadsheet applications. To export the data to Excel, invoke the [`excelExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#excelexport) method.
{% tabs %}
{% highlight js tabtitle="index.js" %}
@@ -24,146 +28,265 @@ The Excel export allows pivot table data to export as Excel document. To enable
{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs9" %}
-## Multiple pivot table exporting
+## Export data to a CSV file
+
+Pivot Table data can be exported to a plain text CSV file. The CSV format is lightweight and compatible with most spreadsheet and data analysis applications. To export the data to CSV, invoke the [`csvExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#csvexport) method.
+
+{% tabs %}
+{% highlight ts tabtitle="index.js" %}
+{% include code-snippet/pivot-table/excel-export-cs26/index.js %}
+{% endhighlight %}
+{% highlight html tabtitle="index.html" %}
+{% include code-snippet/pivot-table/excel-export-cs26/index.html %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs26" %}
+
+## Exporting multiple pivot tables
-The Excel export provides an option to export multiple pivot table data in the same Excel file.
+Multiple Pivot Tables can be exported to a single Excel file, allowing for side-by-side comparison on the same or different worksheets. Each Pivot Table must be rendered with a unique HTML element ID. For example, **PivotTable1** for the first table and **PivotTable2** for the second. To export both Pivot Tables to a single Excel file, provide their IDs in the `pivotTableIds` property of the `excelExportProperties`.
-### Same WorkSheet
+### Exporting to the same worksheet
-The Excel export provides support to export multiple pivot tables in same sheet. To export in same sheet, define `multipleExport.type` as `AppendToSheet` in `ExcelExportProperties`. It has an option to provide blank rows between pivot tables and these blank row(s) count can be defined using the`multipleExport.blankRows` property.
+Data from multiple Pivot Tables can be organized in a single view by exporting them to the same worksheet. Set the **multipleExport.type** property to **AppendToSheet** in the `excelExportProperties`, which will append each Pivot Table to the same sheet.
->By default, `multipleExport.blankRows` value is 5 between pivot tables within the same sheet.
+To add visual separation between Pivot Tables, use the **multipleExport.blankRows** property to specify the number of blank rows to insert between them. This helps maintain readability when multiple Pivot Tables are added in a single worksheet. After configuring these options, call the [`excelExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#excelexport) method with the `isMultipleExport` parameter set to **true**.
+
+> By default, the **multipleExport.blankRows** property is set to **5** blank rows.
{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pivot-table/excel-export-cs10/index.js %}
+{% highlight ts tabtitle="index.js" %}
+{% include code-snippet/pivot-table/excel-export-cs21/index.js %}
{% endhighlight %}
{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pivot-table/excel-export-cs10/index.html %}
+{% include code-snippet/pivot-table/excel-export-cs21/index.html %}
{% endhighlight %}
{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs10" %}
-### New WorkSheet
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs21" %}
-Excel export provides support to export multiple pivot tables into new sheets. To export in new sheets, define `multipleExport.type` as `NewSheet` in `ExcelExportProperties`.
+### Exporting to a new worksheet
+
+Multiple Pivot Tables can be organized into separate worksheets within a single Excel file for better structured data management. Set the **multipleExport.type** property to **NewSheet** in the `excelExportProperties`. Each Pivot Table will be exported to its own dedicated worksheet. After configuring these options, call the [`excelExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#excelexport) method with the `isMultipleExport` parameter set to **true**.
{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pivot-table/excel-export-cs11/index.js %}
+{% highlight ts tabtitle="index.js" %}
+{% include code-snippet/pivot-table/excel-export-cs22/index.js %}
{% endhighlight %}
{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pivot-table/excel-export-cs11/index.html %}
+{% include code-snippet/pivot-table/excel-export-cs22/index.html %}
{% endhighlight %}
{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs11" %}
-## Changing the pivot table style while exporting
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs22" %}
-The Excel export provides an option to change colors for headers, caption and records in pivot table before exporting. In-order to apply colors, define **theme** settings in **excelExportProperties** object and pass it as a parameter to the [`excelExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/#excelexport) method.
+## Customize the pivot report during export
->By default, material theme is applied to exported Excel document.
+Pivot Table report settings can be customized before exporting, such as applying filters, adding formatting, or performing drill-down and drill-up operations. These customizations are applied exclusively to the exported file and do not affect the Pivot Table UI. To customize the export behavior, use the [`beforeExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#beforeexport) event, which is triggered before the export operation begins.
+
+In the following example, the [`beforeExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#beforeexport) event is used to expand all Pivot Table headers by setting the [`expandAll`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/datasourcesettingsmodel#expandall) property to **true**. The `generateGridData` method is then called to obtain the updated [`pivotValues`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#pivotvalues). The updated [`pivotValues`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#pivotvalues) are assigned to [`args.dataCollections`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/beforeexporteventargs#datacollections) for the export. Finally, [`expandAll`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/datasourcesettingsmodel#expandall) is set to **false** again to restore the original state of the Pivot Table.
{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pivot-table/excel-export-cs12/index.js %}
+{% highlight ts tabtitle="index.js" %}
+{% include code-snippet/pivot-table/excel-export-cs31/index.js %}
{% endhighlight %}
{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pivot-table/excel-export-cs12/index.html %}
+{% include code-snippet/pivot-table/excel-export-cs31/index.html %}
{% endhighlight %}
{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs12" %}
-## Add header and footer while exporting
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs31" %}
+
+## Export with custom aggregates
+
+The Pivot Table supports exporting data with custom calculations beyond the default options such as **Sum**, **Count**, or **Average**. Custom aggregates enable advanced analytical scenarios where standard calculations are insufficient.
+
+To add custom aggregates, follow these steps:
-The Excel export provides an option to include header and footer content for the excel document before exporting. In-order to add header and footer, define **header** and **footer** properties in **excelExportProperties** object and pass it as a parameter to the [`excelExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/#excelexport) method.
+1. Define custom aggregate names using the [localization](https://ej2.syncfusion.com/javascript/documentation/pivotview/globalization-and-localization#localization) option. These names will appear in the Pivot Table's aggregation menu.
+2. Add the custom aggregation types to the aggregate menu during Pivot Table initialization using the [`dataBound`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#databound) event.
+3. Use the [`aggregateCellInfo`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#aggregatecellinfo) event to specify the calculation logic for each custom type. This event is triggered for every aggregate cell, allowing you to apply your custom formulas.
+4. Finally, call the [`excelExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#excelexport) method to export the Pivot Table with all custom aggregations applied.
+
+For detailed information about adding custom aggregation types, refer to the [custom aggregation documentation](https://ej2.syncfusion.com/javascript/documentation/pivotview/how-to/add-custom-aggregation-type-in-menu).
+
+The following example demonstrates how to add two custom aggregate types to the aggregate menu: **CustomAggregateType 1**, which calculates a weighted average, and **CustomAggregateType 2**, which calculates the percentage of the total.
{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pivot-table/excel-export-cs13/index.js %}
+{% highlight ts tabtitle="index.js" %}
+{% include code-snippet/pivot-table/excel-export-cs32/index.js %}
{% endhighlight %}
{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pivot-table/excel-export-cs13/index.html %}
+{% include code-snippet/pivot-table/excel-export-cs32/index.html %}
{% endhighlight %}
{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs13" %}
-## Changing the file name while exporting
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs32" %}
+
+## Export with custom date format
+
+The Pivot Table component allows applying custom date formatting to date-type fields added to the **row** and **column** axes. This formatting ensures consistency across both the rendered pivot table and the exported file. Custom date formatting can be applied by configuring the [`formatSettings`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/datasourcesettingsmodel#formatsettings) property using the following steps:
+
+1. Set the [`name`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/formatsettingsmodel#name) property to the target date field.
+2. Set the [`type`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/formatsettingsmodel#type) property to **date** to identify the field as a date type.
+3. Set the [`format`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/formatsettingsmodel#format) property to the desired date format pattern (for example, `"EEE, MMM d, ''yy"`)
-The Excel export provides an option to change file name of the document before exporting. In-order to change the file name, define **fileName** property in **excelExportProperties** object and pass it as a parameter to the [`excelExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/#excelexport) method.
+After configuration, call the [`excelExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#excelexport) method to export the Pivot Table with the applied formatting.
+
+The following example demonstrates exporting a Pivot Table with a custom date format. The **Date** field uses the pattern `"EEE, MMM d, ''yy"`, which displays dates in the format: day-of-the-week abbreviation, month abbreviation, day, and two-digit year (for example, Sun, May 8, '23).
{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pivot-table/excel-export-cs14/index.js %}
+{% highlight ts tabtitle="index.js" %}
+{% include code-snippet/pivot-table/excel-export-cs33/index.js %}
{% endhighlight %}
{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pivot-table/excel-export-cs14/index.html %}
+{% include code-snippet/pivot-table/excel-export-cs33/index.html %}
{% endhighlight %}
{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs14" %}
-## Limitation when exporting millions of records to Excel format
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs33" %}
+
+## Remove row header during export
+
+Row headers can be excluded from the exported Excel file when only values and column headers are required. To achieve this, use the [`beforeExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#beforeexport) event to access pivot values through [`args.dataCollections`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/beforeexporteventargs#datacollections) and remove the row headers before exporting.
+
+{% tabs %}
+{% highlight ts tabtitle="index.js" %}
+{% include code-snippet/pivot-table/excel-export-cs34/index.js %}
+{% endhighlight %}
+{% highlight html tabtitle="index.html" %}
+{% include code-snippet/pivot-table/excel-export-cs34/index.html %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs34" %}
+
+## Exclude hidden columns during export
-By default, Microsoft Excel supports only 1,048,576 records in an Excel sheet. Hence, it is not possible to export millions of records to Excel. You can refer to the [documentation link](https://support.microsoft.com/en-gb/office/excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3) for more details on Microsoft Excel specifications and limits. Therefore, it is suggested to export the data in CSV (Comma-Separated Values) or other formats that can handle large datasets more efficiently than Excel.
+By default, all columns in the Pivot Table, including hidden ones, are exported. To exclude hidden columns, set the `includeHiddenColumn` property to **false** in `excelExportProperties`.
-## CSV Export
+To hide a column, use the [`columnRender`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/gridsettingsmodel#columnrender) event in [`gridSettings`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#gridsettings) to set the `visible` property of the target column to **false**. For more information, see the [Hide Specific Columns in Pivot Table](https://ej2.syncfusion.com/javascript/documentation/pivotview/how-to/hide-specific-columns-in-pivot-table) documentation.
-Also, the Excel export allows pivot table data to be exported in `CSV` file format. To export pivot table in `CSV` file format, you need to use the `csvExport` method.
+After hiding the columns, set `includeHiddenColumn` to **false** in `excelExportProperties` to exclude them from the exported file. The exported file will then match the column structure shown in the Pivot Table UI.
{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pivot-table/excel-export-cs15/index.js %}
+{% highlight ts tabtitle="index.js" %}
+{% include code-snippet/pivot-table/excel-export-cs35/index.js %}
{% endhighlight %}
{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pivot-table/excel-export-cs15/index.html %}
+{% include code-snippet/pivot-table/excel-export-cs35/index.html %}
{% endhighlight %}
{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs15" %}
+
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs35" %}
+
+## Rotate cell text during export
+
+The style of each cell in the exported file can be customized, including rotating text, changing background colors, and applying other visual modifications. This approach is useful for creating visually distinct Pivot Table and for fitting text within limited space.
+
+To rotate text, use the following events:
+
+* [`excelHeaderQueryCellInfo`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/gridsettingsmodel#excelheaderquerycellinfo): Triggered for column headers. This event is used to customize column header cell styles.
+* [`excelQueryCellInfo`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/gridsettingsmodel#excelquerycellinfo): Triggered for row and value cells. This event is used to customize row header and value cell styles.
+
+Within these events, set the [`rotation`](https://ej2.syncfusion.com/javascript/documentation/api/grid/excelstyle#rotation) property in the [`style`](https://ej2.syncfusion.com/javascript/documentation/api/grid/excelheaderquerycellinfoeventargs#style) argument to rotate the text to the desired angle.
+
+{% tabs %}
+{% highlight ts tabtitle="index.js" %}
+{% include code-snippet/pivot-table/excel-export-cs36/index.js %}
+{% endhighlight %}
+{% highlight html tabtitle="index.html" %}
+{% include code-snippet/pivot-table/excel-export-cs36/index.html %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs36" %}
+
+## Apply custom styles based on specific conditions
-## Virtual Scroll Data
+When exporting Pivot Table data to Excel, custom styles can be applied to cells based on their values or other criteria. To apply custom styles, use the [`excelQueryCellInfo`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/gridsettingsmodel#excelquerycellinfo) event. In this event, the cell information can be accessed through the [`args.cell`](https://ej2.syncfusion.com/javascript/documentation/api/grid/excelquerycellinfoeventargs#cell) property, and its style properties, such as [`backColor`](https://ej2.syncfusion.com/javascript/documentation/api/grid/excelstyle#backcolor), [`fontName`](https://ej2.syncfusion.com/javascript/documentation/api/grid/excelstyle#fontname), and [`fontColor`](https://ej2.syncfusion.com/javascript/documentation/api/grid/excelstyle#fontcolor), can be customized.
-You can export the pivot table virtual scroll data as Excel/CSV document by using PivotEngine export without any performance degradation. To enable PivotEngine export in the pivot table, set the `allowExcelExport` as true. You need to use the `exportToExcel` method for PivotEngine export.
+The following example demonstrates how to apply conditional formatting to the **Sold** field values in the exported Excel document. Values below **700** units are highlighted in **red**, while values of **700** units or more are highlighted in **green**.
+
+{% tabs %}
+{% highlight ts tabtitle="index.js" %}
+{% include code-snippet/pivot-table/excel-export-cs37/index.js %}
+{% endhighlight %}
+{% highlight html tabtitle="index.html" %}
+{% include code-snippet/pivot-table/excel-export-cs37/index.html %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs37" %}
+
+## Changing the pivot table style while exporting
+
+The Excel export provides an option to change the colors of headers, captions, and records in a pivot table before exporting. To apply colors, define `theme` settings in `excelExportProperties` and pass it as a parameter to the [`excelExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/#excelexport) method.
+
+> By default, the material theme is applied to the exported Excel document.
+
+{% tabs %}
+{% highlight js tabtitle="index.js" %}
+{% include code-snippet/pivot-table/excel-export-cs12/index.js %}
+{% endhighlight %}
+{% highlight html tabtitle="index.html" %}
+{% include code-snippet/pivot-table/excel-export-cs12/index.html %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs12" %}
-> To use PivotEngine export, You need to inject the `ExcelExport` module in pivot table.
-> PivotEngine export will be performed while enabling virtual scrolling by default.
+## Add header and footer while exporting
-### Virtual Scroll Data Excel Export
+The Excel export provides an option to include header and footer content in the Excel document before exporting. To add a header and footer, define the `header` and `footer` properties in `excelExportProperties` and pass them as parameters to the [`excelExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/#excelexport) method.
{% tabs %}
{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pivot-table/excel-export-cs16/index.js %}
+{% include code-snippet/pivot-table/excel-export-cs13/index.js %}
{% endhighlight %}
{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pivot-table/excel-export-cs16/index.html %}
+{% include code-snippet/pivot-table/excel-export-cs13/index.html %}
{% endhighlight %}
{% endtabs %}
-{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs16" %}
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs13" %}
-### Virtual Scroll Data CSV Export
+## Changing the file name while exporting
+
+This option provides flexibility to specify a custom file name for your exported Excel document, making it easier to organize and identify your exported data. The Excel export provides an option to change the file name of the document before exporting. To change the file name, define the `fileName` property in the `excelExportProperties` object and pass it as a parameter to the [`excelExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/#excelexport) method.
{% tabs %}
{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pivot-table/excel-export-cs17/index.js %}
+{% include code-snippet/pivot-table/excel-export-cs14/index.js %}
{% endhighlight %}
{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pivot-table/excel-export-cs17/index.html %}
+{% include code-snippet/pivot-table/excel-export-cs14/index.html %}
{% endhighlight %}
{% endtabs %}
-{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs17" %}
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs14" %}
+
+## Show spinner during export
+
+When exporting data, displaying a spinner provides visual feedback to end users that the export process is in progress. To show a spinner, invoke the `showWaitingPopup` method in the button's click event before calling the export method. After the export is complete, use the [`exportComplete`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#exportcomplete) event to trigger the `hideWaitingPopup` method, which will hide the spinner and indicate that the export has finished successfully.
+
+{% tabs %}
+{% highlight ts tabtitle="index.js" %}
+{% include code-snippet/pivot-table/excel-export-cs38/index.js %}
+{% endhighlight %}
+{% highlight html tabtitle="index.html" %}
+{% include code-snippet/pivot-table/excel-export-cs38/index.html %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs38" %}
-### Export all pages
+## Export only the current page
-The pivot engine exports the entire virtual data of the pivot table (i.e. the data that contains all of the records used to render the complete pivot table) as an Excel/CSV document. To export just the current viewport of the pivot table, set the [`exportAllPages`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/#exportallpages) property to **false**. To use the pivot engine export, add the `ExcelExport` module into the pivot table.
+By default, the Pivot Table exports all data records, which can result in larger file sizes when a large data source is assigned to the Pivot Table. To improve performance, export only the data records currently visible in the viewport by setting the [`exportAllPages`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/#exportallpages) property to **false**.
-> By default, the pivot engine export will be performed while virtual scrolling is enabled.
+> This option is applicable only when the virtualization or paging feature is enabled.
{% tabs %}
{% highlight js tabtitle="index.js" %}
@@ -180,12 +303,14 @@ The pivot engine exports the entire virtual data of the pivot table (i.e. the da
### ExcelQueryCellInfo
-The event `excelQueryCellInfo` triggers while framing each row and value cell during Excel export. It allows the user to customize the cell value, style etc. of the current cell. It has the following parameters:
+The [`excelQueryCellInfo`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/gridsettingsmodel#excelquerycellinfo) event is triggered during the creation of each row and value cell while exporting data to Excel. This event offers options to change the content and style of individual cells in the exported Excel document, improving the flexibility and appearance of exported reports.
+
+The event provides the following arguments:
-* `value` - It holds the cell value.
-* `column` - It holds column information for the current cell.
-* `data` - It holds the entire row data across the current cell.
-* `style` - It holds the style properties for the cell.
+* [`value`](https://ej2.syncfusion.com/javascript/documentation/api/grid/excelquerycellinfoeventargs#value) – Represents the value of the current cell in the exported Excel sheet.
+* [`column`](https://ej2.syncfusion.com/javascript/documentation/api/grid/excelquerycellinfoeventargs#column) – Provides details about the column to which the current cell belongs.
+* [`data`](https://ej2.syncfusion.com/javascript/documentation/api/grid/excelquerycellinfoeventargs#data) – Contains all data for the row that includes the current cell.
+* [`style`](https://ej2.syncfusion.com/javascript/documentation/api/grid/excelquerycellinfoeventargs#style) – Defines the style settings (such as font, color, borders) applied to the current cell.
{% tabs %}
{% highlight js tabtitle="index.js" %}
@@ -200,10 +325,10 @@ The event `excelQueryCellInfo` triggers while framing each row and value cell du
### ExcelHeaderQueryCellInfo
-The event `excelHeaderQueryCellInfo` triggers on framing each header cell during Excel export. It allows the user to customize the cell value, style etc. of the current cell. It has the following parameters:
+The [`excelHeaderQueryCellInfo`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/gridsettingsmodel#excelheaderquerycellinfo) event provides the ability to modify header cell appearance and content during Excel export, ensuring exported documents match specific formatting requirements or business standards. This event triggers while processing each header cell during the Excel export operation. The event contains the following parameters:
-* `cell` - It holds the current cell information.
-* `style` - It holds the style properties for the cell.
+* [`cell`](https://ej2.syncfusion.com/javascript/documentation/api/grid/excelheaderquerycellinfoeventargs#cell) – Contains the current cell information and properties.
+* [`style`](https://ej2.syncfusion.com/javascript/documentation/api/grid/excelheaderquerycellinfoeventargs#style) – Contains the style properties that can be applied to the cell.
{% tabs %}
{% highlight js tabtitle="index.js" %}
@@ -218,10 +343,10 @@ The event `excelHeaderQueryCellInfo` triggers on framing each header cell during
### ExportComplete
-The event [`exportComplete`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/#exportcomplete) is triggered after the pivot table data has been exported to an Excel/CSV document. You can use this event to acquire blob stream data for further customization and processing at your end by passing the `isBlob` parameter as **true** when using the [`excelExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/#excelexport) method. It has the following parameters:
+The [`exportComplete`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/#exportcomplete) event triggers after the Pivot Table data exports to an Excel or CSV document. This event enables acquiring blob stream data for further processing and customization by setting the `isBlob` parameter to **true** when calling the [`excelExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/#excelexport) method. The event includes the following parameters:
-* `type` - It holds the current export type such as PDF, Excel, and CSV.
-* `promise` - It holds the promise object for blob data.
+* [`type`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/exportcompleteeventargs#type) – Specifies the current export format such as PDF, Excel, or CSV.
+* [`promise`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/exportcompleteeventargs#promise) – Contains the promise object that resolves with blob data for the exported file.
{% tabs %}
{% highlight js tabtitle="index.js" %}
@@ -234,6 +359,10 @@ The event [`exportComplete`](https://ej2.syncfusion.com/javascript/documentation
{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs19" %}
+## Limitation when exporting millions of records to Excel format
+
+Understanding this limitation helps you choose the appropriate export format based on your data size requirements and ensures optimal performance for large datasets. By default, Microsoft Excel supports only 1,048,576 records in an Excel sheet. Therefore, it is not possible to export millions of records to Excel format. You can refer to the [documentation link](https://support.microsoft.com/en-gb/office/excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3) for more details on Microsoft Excel specifications and limits. For large datasets, it is recommended to export the data in CSV (Comma-Separated Values) or other formats that can handle large datasets more efficiently than Excel.
+
## See Also
* [PDF Exporting](./pdf-export)
\ No newline at end of file
diff --git a/ej2-javascript/pivotview/ts/excel-export.md b/ej2-javascript/pivotview/ts/excel-export.md
index bd872d927..4e9376dcf 100644
--- a/ej2-javascript/pivotview/ts/excel-export.md
+++ b/ej2-javascript/pivotview/ts/excel-export.md
@@ -11,7 +11,11 @@ domainurl: ##DomainURL##
# Excel export in ##Platform_Name## Pivot Table component
-The Excel export allows pivot table data to export as Excel document. To enable Excel export in the pivot table, set the `allowExcelExport` as **true**. You need to use the `excelExport` method for Excel exporting.
+The Pivot Table component supports exporting pivot data to **Excel** and **CSV** file formats. This enables data sharing and analysis in spreadsheet applications such as Microsoft Excel, Google Sheets, and more. To enable the export functionality, inject the `ExcelExport` module into the Pivot Table and set the [`allowExcelExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#allowexcelexport) property to **true**.
+
+## Export data to an Excel file
+
+Pivot Table data can be exported to an Excel file (.xlsx format) while preserving all formatting and structure. This format is compatible with Microsoft Excel and other spreadsheet applications. To export the data to Excel, invoke the [`excelExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#excelexport) method.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
@@ -21,18 +25,35 @@ The Excel export allows pivot table data to export as Excel document. To enable
{% include code-snippet/pivot-table/excel-export-cs20/index.html %}
{% endhighlight %}
{% endtabs %}
-
+
{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs20" %}
-## Multiple pivot table exporting
+## Export data to a CSV file
-The Excel export provides an option to export multiple pivot table data in the same Excel file.
+Pivot Table data can be exported to a plain text CSV file. The CSV format is lightweight and compatible with most spreadsheet and data analysis applications. To export the data to CSV, invoke the [`csvExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#csvexport) method.
+
+{% tabs %}
+{% highlight ts tabtitle="index.ts" %}
+{% include code-snippet/pivot-table/excel-export-cs26/index.ts %}
+{% endhighlight %}
+{% highlight html tabtitle="index.html" %}
+{% include code-snippet/pivot-table/excel-export-cs26/index.html %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs26" %}
-### Same WorkSheet
+## Exporting multiple pivot tables
-The Excel export provides support to export multiple pivot tables in same sheet. To export in same sheet, define `multipleExport.type` as `AppendToSheet` in `ExcelExportProperties`. It has an option to provide blank rows between pivot tables and these blank row(s) count can be defined using the`multipleExport.blankRows` property.
+Multiple Pivot Tables can be exported to a single Excel file, allowing for side-by-side comparison on the same or different worksheets. Each Pivot Table must be rendered with a unique HTML element ID. For example, **PivotTable1** for the first table and **PivotTable2** for the second. To export both Pivot Tables to a single Excel file, provide their IDs in the `pivotTableIds` property of the `excelExportProperties`.
->By default, `multipleExport.blankRows` value is 5 between pivot tables within the same sheet.
+### Exporting to the same worksheet
+
+Data from multiple Pivot Tables can be organized in a single view by exporting them to the same worksheet. Set the **multipleExport.type** property to **AppendToSheet** in the `excelExportProperties`, which will append each Pivot Table to the same sheet.
+
+To add visual separation between Pivot Tables, use the **multipleExport.blankRows** property to specify the number of blank rows to insert between them. This helps maintain readability when multiple Pivot Tables are added in a single worksheet. After configuring these options, call the [`excelExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#excelexport) method with the `isMultipleExport` parameter set to **true**.
+
+> By default, the **multipleExport.blankRows** property is set to **5** blank rows.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
@@ -42,12 +63,12 @@ The Excel export provides support to export multiple pivot tables in same sheet.
{% include code-snippet/pivot-table/excel-export-cs21/index.html %}
{% endhighlight %}
{% endtabs %}
-
+
{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs21" %}
-### New WorkSheet
+### Exporting to a new worksheet
-Excel export provides support to export multiple pivot tables into new sheets. To export in new sheets, define `multipleExport.type` as `NewSheet` in `ExcelExportProperties`.
+Multiple Pivot Tables can be organized into separate worksheets within a single Excel file for better structured data management. Set the **multipleExport.type** property to **NewSheet** in the `excelExportProperties`. Each Pivot Table will be exported to its own dedicated worksheet. After configuring these options, call the [`excelExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#excelexport) method with the `isMultipleExport` parameter set to **true**.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
@@ -57,113 +78,215 @@ Excel export provides support to export multiple pivot tables into new sheets. T
{% include code-snippet/pivot-table/excel-export-cs22/index.html %}
{% endhighlight %}
{% endtabs %}
-
+
{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs22" %}
-## Changing the pivot table style while exporting
+## Customize the pivot report during export
-The Excel export provides an option to change colors for headers, caption and records in pivot table before exporting. In-order to apply colors, define **theme** settings in **excelExportProperties** object and pass it as a parameter to the [`excelExport`](https://ej2.syncfusion.com/documentation/api/pivotview/#excelexport) method.
+Pivot Table report settings can be customized before exporting, such as applying filters, adding formatting, or performing drill-down and drill-up operations. These customizations are applied exclusively to the exported file and do not affect the Pivot Table UI. To customize the export behavior, use the [`beforeExport`](https://ej2.syncfusion.com/documentation/api/pivotview/#beforeexport) event, which is triggered before the export operation begins.
->By default, material theme is applied to exported Excel document.
+In the following example, the [`beforeExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#beforeexport) event is used to expand all Pivot Table headers by setting the [`expandAll`](https://ej2.syncfusion.com/documentation/api/pivotview/datasourcesettingsmodel#expandall) property to **true**. The `generateGridData` method is then called to obtain the updated [`pivotValues`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#pivotvalues). The updated [`pivotValues`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#pivotvalues) are assigned to [`args.dataCollections`](https://ej2.syncfusion.com/documentation/api/pivotview/beforeexporteventargs#datacollections) for the export. Finally, [`expandAll`](https://ej2.syncfusion.com/documentation/api/pivotview/datasourcesettingsmodel#expandall) is set to **false** again to restore the original state of the Pivot Table.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pivot-table/excel-export-cs23/index.ts %}
+{% include code-snippet/pivot-table/excel-export-cs31/index.ts %}
{% endhighlight %}
{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pivot-table/excel-export-cs23/index.html %}
+{% include code-snippet/pivot-table/excel-export-cs31/index.html %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs31" %}
+
+## Export with custom aggregates
+
+The Pivot Table supports exporting data with custom calculations beyond the default options such as **Sum**, **Count**, or **Average**. Custom aggregates enable advanced analytical scenarios where standard calculations are insufficient.
+
+To add custom aggregates, follow these steps:
+
+1. Define custom aggregate names using the [localization](https://ej2.syncfusion.com/documentation/pivotview/globalization-and-localization#localization) option. These names will appear in the Pivot Table's aggregation menu.
+2. Add the custom aggregation types to the aggregate menu during Pivot Table initialization using the [`dataBound`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#databound) event.
+3. Use the [`aggregateCellInfo`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#aggregatecellinfo) event to specify the calculation logic for each custom type. This event is triggered for every aggregate cell, allowing you to apply your custom formulas.
+4. Finally, call the [`excelExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#excelexport) method to export the Pivot Table with all custom aggregations applied.
+
+For detailed information about adding custom aggregation types, refer to the [custom aggregation documentation](https://ej2.syncfusion.com/documentation/pivotview/how-to/add-custom-aggregation-type-in-menu).
+
+The following example demonstrates how to add two custom aggregate types to the aggregate menu: **CustomAggregateType 1**, which calculates a weighted average, and **CustomAggregateType 2**, which calculates the percentage of the total.
+
+{% tabs %}
+{% highlight ts tabtitle="index.ts" %}
+{% include code-snippet/pivot-table/excel-export-cs32/index.ts %}
+{% endhighlight %}
+{% highlight html tabtitle="index.html" %}
+{% include code-snippet/pivot-table/excel-export-cs32/index.html %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs32" %}
+
+## Export with custom date format
+
+The Pivot Table component allows applying custom date formatting to date-type fields added to the **row** and **column** axes. This formatting ensures consistency across both the rendered pivot table and the exported file. Custom date formatting can be applied by configuring the [`formatSettings`](https://ej2.syncfusion.com/documentation/api/pivotview/datasourcesettingsmodel#formatsettings) property using the following steps:
+
+1. Set the [`name`](https://ej2.syncfusion.com/documentation/api/pivotview/formatsettingsmodel#name) property to the target date field.
+2. Set the [`type`](https://ej2.syncfusion.com/documentation/api/pivotview/formatsettingsmodel#type) property to **date** to identify the field as a date type.
+3. Set the [`format`](https://ej2.syncfusion.com/documentation/api/pivotview/formatsettingsmodel#format) property to the desired date format pattern (for example, `"EEE, MMM d, ''yy"`)
+
+After configuration, call the [`excelExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#excelexport) method to export the Pivot Table with the applied formatting.
+
+The following example demonstrates exporting a Pivot Table with a custom date format. The **Date** field uses the pattern `"EEE, MMM d, ''yy"`, which displays dates in the format: day-of-the-week abbreviation, month abbreviation, day, and two-digit year (for example, Sun, May 8, '23).
+
+{% tabs %}
+{% highlight ts tabtitle="index.ts" %}
+{% include code-snippet/pivot-table/excel-export-cs33/index.ts %}
+{% endhighlight %}
+{% highlight html tabtitle="index.html" %}
+{% include code-snippet/pivot-table/excel-export-cs33/index.html %}
{% endhighlight %}
{% endtabs %}
-{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs23" %}
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs33" %}
-## Add header and footer while exporting
+## Remove row header during export
-The Excel export provides an option to include header and footer content for the excel document before exporting. In-order to add header and footer, define **header** and **footer** properties in **excelExportProperties** object and pass it as a parameter to the [`excelExport`](https://ej2.syncfusion.com/documentation/api/pivotview/#excelexport) method.
+Row headers can be excluded from the exported Excel file when only values and column headers are required. To achieve this, use the [`beforeExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#beforeexport) event to access pivot values through [`args.dataCollections`](https://ej2.syncfusion.com/documentation/api/pivotview/beforeexporteventargs#datacollections) and remove the row headers before exporting.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pivot-table/excel-export-cs24/index.ts %}
+{% include code-snippet/pivot-table/excel-export-cs34/index.ts %}
{% endhighlight %}
{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pivot-table/excel-export-cs24/index.html %}
+{% include code-snippet/pivot-table/excel-export-cs34/index.html %}
{% endhighlight %}
{% endtabs %}
-{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs24" %}
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs34" %}
-## Changing the file name while exporting
+## Exclude hidden columns during export
-The Excel export provides an option to change file name of the document before exporting. In-order to change the file name, define **fileName** property in **excelExportProperties** object and pass it as a parameter to the [`excelExport`](https://ej2.syncfusion.com/documentation/api/pivotview/#excelexport) method.
+By default, all columns in the Pivot Table, including hidden ones, are exported. To exclude hidden columns, set the `includeHiddenColumn` property to **false** in `excelExportProperties`.
+
+To hide a column, use the [`columnRender`](https://ej2.syncfusion.com/documentation/api/pivotview/gridsettingsmodel#columnrender) event in [`gridSettings`](https://ej2.syncfusion.com/documentation/api/pivotview/gridsettings) to set the `visible` property of the target column to **false**. For more information, see the [Hide Specific Columns in Pivot Table](https://ej2.syncfusion.com/documentation/pivotview/how-to/hide-specific-columns-in-pivot-table) documentation.
+
+After hiding the columns, set `includeHiddenColumn` to **false** in `excelExportProperties` to exclude them from the exported file. The exported file will then match the column structure shown in the Pivot Table UI.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pivot-table/excel-export-cs25/index.ts %}
+{% include code-snippet/pivot-table/excel-export-cs35/index.ts %}
{% endhighlight %}
{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pivot-table/excel-export-cs25/index.html %}
+{% include code-snippet/pivot-table/excel-export-cs35/index.html %}
{% endhighlight %}
{% endtabs %}
-{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs25" %}
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs35" %}
-## Limitation when exporting millions of records to Excel format
+## Rotate cell text during export
-By default, Microsoft Excel supports only 1,048,576 records in an Excel sheet. Hence, it is not possible to export millions of records to Excel. You can refer to the [documentation link](https://support.microsoft.com/en-gb/office/excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3) for more details on Microsoft Excel specifications and limits. Therefore, it is suggested to export the data in CSV (Comma-Separated Values) or other formats that can handle large datasets more efficiently than Excel.
+The style of each cell in the exported file can be customized, including rotating text, changing background colors, and applying other visual modifications. This approach is useful for creating visually distinct Pivot Table and for fitting text within limited space.
-## CSV Export
+To rotate text, use the following events:
-Also, the Excel export allows pivot table data to be exported in `CSV` file format. To export pivot table in `CSV` file format, you need to use the `csvExport` method.
+* [`excelHeaderQueryCellInfo`](https://ej2.syncfusion.com/documentation/api/pivotview/gridsettingsmodel#excelheaderquerycellinfo): Triggered for column headers. This event is used to customize column header cell styles.
+* [`excelQueryCellInfo`](https://ej2.syncfusion.com/documentation/api/pivotview/gridsettingsmodel#excelquerycellinfo): Triggered for row and value cells. This event is used to customize row header and value cell styles.
+
+Within these events, set the [`rotation`](https://ej2.syncfusion.com/documentation/api/grid/excelstyle#rotation) property in the [`style`](https://ej2.syncfusion.com/documentation/api/grid/excelheaderquerycellinfoeventargs#style) argument to rotate the text to the desired angle.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pivot-table/excel-export-cs26/index.ts %}
+{% include code-snippet/pivot-table/excel-export-cs36/index.ts %}
{% endhighlight %}
{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pivot-table/excel-export-cs26/index.html %}
+{% include code-snippet/pivot-table/excel-export-cs36/index.html %}
{% endhighlight %}
{% endtabs %}
-{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs26" %}
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs36" %}
-## Virtual Scroll Data
+## Apply custom styles based on specific conditions
-You can export the pivot table virtual scroll data as Excel/CSV document by using PivotEngine export without any performance degradation. To enable PivotEngine export in the pivot table, set the `allowExcelExport` as true. You need to use the `exportToExcel` method for PivotEngine export.
+When exporting Pivot Table data to Excel, custom styles can be applied to cells based on their values or other criteria. To apply custom styles, use the [`excelQueryCellInfo`](https://ej2.syncfusion.com/documentation/api/pivotview/gridsettingsmodel#excelquerycellinfo) event. In this event, the cell information can be accessed through the [`args.cell`](https://ej2.syncfusion.com/documentation/api/pivotview/gridsettingsmodel#excelquerycellinfo) property, and its style properties, such as [`backColor`](https://ej2.syncfusion.com/documentation/api/grid/excelstyle#backcolor), [`fontName`](https://ej2.syncfusion.com/documentation/api/grid/excelstyle#fontname), and [`fontColor`](https://ej2.syncfusion.com/documentation/api/grid/excelstyle#fontcolor), can be customized.
-> To use PivotEngine export, You need to inject the `ExcelExport` module in pivot table.
-> PivotEngine export will be performed while enabling virtual scrolling by default.
+The following example demonstrates how to apply conditional formatting to the **Sold** field values in the exported Excel document. Values below **700** units are highlighted in **red**, while values of **700** units or more are highlighted in **green**.
-### Virtual Scroll Data Excel Export
+{% tabs %}
+{% highlight ts tabtitle="index.ts" %}
+{% include code-snippet/pivot-table/excel-export-cs37/index.ts %}
+{% endhighlight %}
+{% highlight html tabtitle="index.html" %}
+{% include code-snippet/pivot-table/excel-export-cs37/index.html %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs37" %}
+
+## Changing the pivot table style while exporting
+
+The Excel export provides an option to change the colors of headers, captions, and records in a pivot table before exporting. To apply colors, define `theme` settings in `excelExportProperties` and pass it as a parameter to the [`excelExport`](https://ej2.syncfusion.com/documentation/api/pivotview/#excelexport) method.
+
+> By default, the material theme is applied to the exported Excel document.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pivot-table/excel-export-cs27/index.ts %}
+{% include code-snippet/pivot-table/excel-export-cs23/index.ts %}
{% endhighlight %}
{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pivot-table/excel-export-cs27/index.html %}
+{% include code-snippet/pivot-table/excel-export-cs23/index.html %}
{% endhighlight %}
{% endtabs %}
-{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs27" %}
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs23" %}
+
+## Add header and footer while exporting
-### Virtual Scroll Data CSV Export
+The Excel export provides an option to include header and footer content in the Excel document before exporting. To add a header and footer, define the `header` and `footer` properties in `excelExportProperties` and pass them as parameters to the [`excelExport`](https://ej2.syncfusion.com/documentation/api/pivotview/#excelexport) method.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pivot-table/excel-export-cs28/index.ts %}
+{% include code-snippet/pivot-table/excel-export-cs24/index.ts %}
{% endhighlight %}
{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pivot-table/excel-export-cs28/index.html %}
+{% include code-snippet/pivot-table/excel-export-cs24/index.html %}
{% endhighlight %}
{% endtabs %}
-{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs28" %}
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs24" %}
-### Export all pages
+## Changing the file name while exporting
+
+This option provides flexibility to specify a custom file name for your exported Excel document, making it easier to organize and identify your exported data. The Excel export provides an option to change the file name of the document before exporting. To change the file name, define the `fileName` property in the `excelExportProperties` object and pass it as a parameter to the [`excelExport`](https://ej2.syncfusion.com/documentation/api/pivotview/#excelexport) method.
+
+{% tabs %}
+{% highlight ts tabtitle="index.ts" %}
+{% include code-snippet/pivot-table/excel-export-cs25/index.ts %}
+{% endhighlight %}
+{% highlight html tabtitle="index.html" %}
+{% include code-snippet/pivot-table/excel-export-cs25/index.html %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs25" %}
+
+## Show spinner during export
-The pivot engine exports the entire virtual data of the pivot table (i.e. the data that contains all of the records used to render the complete pivot table) as an Excel/CSV document. To export just the current viewport of the pivot table, set the [`exportAllPages`](https://ej2.syncfusion.com/documentation/api/pivotview/#exportallpages) property to **false**. To use the pivot engine export, add the `ExcelExport` module into the pivot table.
+When exporting data, displaying a spinner provides visual feedback to end users that the export process is in progress. To show a spinner, invoke the `showWaitingPopup` method in the button's click event before calling the export method. After the export is complete, use the [`exportComplete`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#exportcomplete) event to trigger the `hideWaitingPopup` method, which will hide the spinner and indicate that the export has finished successfully.
-> By default, the pivot engine export will be performed while virtual scrolling is enabled.
+{% tabs %}
+{% highlight ts tabtitle="index.ts" %}
+{% include code-snippet/pivot-table/excel-export-cs38/index.ts %}
+{% endhighlight %}
+{% highlight html tabtitle="index.html" %}
+{% include code-snippet/pivot-table/excel-export-cs38/index.html %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs38" %}
+
+## Export only the current page
+
+By default, the Pivot Table exports all data records, which can result in larger file sizes when a large data source is assigned to the Pivot Table. To improve performance, export only the data records currently visible in the viewport by setting the [`exportAllPages`](https://ej2.syncfusion.com/documentation/api/pivotview/#exportallpages) property to **false**.
+
+> This option is applicable only when the virtualization or paging feature is enabled.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
@@ -180,12 +303,14 @@ The pivot engine exports the entire virtual data of the pivot table (i.e. the da
### ExcelQueryCellInfo
-The event `excelQueryCellInfo` triggers while framing each row and value cell during Excel export. It allows the user to customize the cell value, style etc. of the current cell. It has the following parameters:
+The [`excelQueryCellInfo`](https://ej2.syncfusion.com/documentation/api/pivotview/gridsettingsmodel#excelquerycellinfo) event is triggered during the creation of each row and value cell while exporting data to Excel. This event offers options to change the content and style of individual cells in the exported Excel document, improving the flexibility and appearance of exported reports.
+
+The event provides the following arguments:
-* `value` - It holds the cell value.
-* `column` - It holds column information for the current cell.
-* `data` - It holds the entire row data across the current cell.
-* `style` - It holds the style properties for the cell.
+* [`value`](https://ej2.syncfusion.com/documentation/api/grid/excelquerycellinfoeventargs#value) – Represents the value of the current cell in the exported Excel sheet.
+* [`column`](https://ej2.syncfusion.com/documentation/api/grid/excelquerycellinfoeventargs#column) – Provides details about the column to which the current cell belongs.
+* [`data`](https://ej2.syncfusion.com/documentation/api/grid/excelquerycellinfoeventargs#data) – Contains all data for the row that includes the current cell.
+* [`style`](https://ej2.syncfusion.com/documentation/api/grid/excelquerycellinfoeventargs#style) – Defines the style settings (such as font, color, borders) applied to the current cell.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
@@ -200,10 +325,10 @@ The event `excelQueryCellInfo` triggers while framing each row and value cell du
### ExcelHeaderQueryCellInfo
-The event `excelHeaderQueryCellInfo` triggers on framing each header cell during Excel export. It allows the user to customize the cell value, style etc. of the current cell. It has the following parameters:
+The [`excelHeaderQueryCellInfo`](https://ej2.syncfusion.com/documentation/api/grid/excelheaderquerycellinfoeventargs) event provides the ability to modify header cell appearance and content during Excel export, ensuring exported documents match specific formatting requirements or business standards. This event triggers while processing each header cell during the Excel export operation. The event contains the following parameters:
-* `cell` - It holds the current cell information.
-* `style` - It holds the style properties for the cell.
+* [`cell`](https://ej2.syncfusion.com/documentation/api/grid/excelheaderquerycellinfoeventargs#cell) – Contains the current cell information and properties.
+* [`style`](https://ej2.syncfusion.com/documentation/api/grid/excelheaderquerycellinfoeventargs#style) – Contains the style properties that can be applied to the cell.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
@@ -218,10 +343,10 @@ The event `excelHeaderQueryCellInfo` triggers on framing each header cell during
### ExportComplete
-The event [`exportComplete`](https://ej2.syncfusion.com/documentation/api/pivotview/#exportcomplete) is triggered after the pivot table data has been exported to an Excel/CSV document. You can use this event to acquire blob stream data for further customization and processing at your end by passing the `isBlob` parameter as **true** when using the [`excelExport`](https://ej2.syncfusion.com/documentation/api/pivotview/#excelexport) method. It has the following parameters:
+The [`exportComplete`](https://ej2.syncfusion.com/documentation/api/pivotview/#exportcomplete) event triggers after the Pivot Table data exports to an Excel or CSV document. This event enables acquiring blob stream data for further processing and customization by setting the `isBlob` parameter to **true** when calling the [`excelExport`](https://ej2.syncfusion.com/documentation/api/pivotview/#excelexport) method. The event includes the following parameters:
-* `type` - It holds the current export type such as PDF, Excel, and CSV.
-* `promise` - It holds the promise object for blob data.
+* [`type`](https://ej2.syncfusion.com/documentation/api/pivotview/exportcompleteeventargs#type) – Specifies the current export format such as PDF, Excel, or CSV.
+* [`promise`](https://ej2.syncfusion.com/documentation/api/pivotview/exportcompleteeventargs#promise) – Contains the promise object that resolves with blob data for the exported file.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
@@ -234,6 +359,10 @@ The event [`exportComplete`](https://ej2.syncfusion.com/documentation/api/pivotv
{% previewsample "page.domainurl/code-snippet/pivot-table/excel-export-cs30" %}
+## Limitation when exporting millions of records to Excel format
+
+Understanding this limitation helps you choose the appropriate export format based on your data size requirements and ensures optimal performance for large datasets. By default, Microsoft Excel supports only 1,048,576 records in an Excel sheet. Therefore, it is not possible to export millions of records to Excel format. You can refer to the [documentation link](https://support.microsoft.com/en-gb/office/excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3) for more details on Microsoft Excel specifications and limits. For large datasets, it is recommended to export the data in CSV (Comma-Separated Values) or other formats that can handle large datasets more efficiently than Excel.
+
## See Also
* [PDF Exporting](./pdf-export)
\ No newline at end of file
diff --git a/ej2-typescript-toc.html b/ej2-typescript-toc.html
index af0020c85..7d8ba713f 100644
--- a/ej2-typescript-toc.html
+++ b/ej2-typescript-toc.html
@@ -1685,6 +1685,12 @@
API Reference
+
+Markdown Converter
+
Markdown Editor