Skip to content

Commit ee48d70

Browse files
committed
Merge pull request #5130 from dennym/correct-seperator-for-ie
fix(exporter): pass column seperator options as param to downloadFile
2 parents cbeae2c + 17b1a0a commit ee48d70

File tree

1 file changed

+16
-17
lines changed

1 file changed

+16
-17
lines changed

src/features/exporter/js/exporter.js

+16-17
Original file line numberDiff line numberDiff line change
@@ -626,7 +626,7 @@
626626
var exportData = self.getData(grid, rowTypes, colTypes);
627627
var csvContent = self.formatAsCsv(exportColumnHeaders, exportData, grid.options.exporterCsvColumnSeparator);
628628

629-
self.downloadFile (grid.options.exporterCsvFilename, csvContent, grid.options.exporterOlderExcelCompatibility);
629+
self.downloadFile (grid.options.exporterCsvFilename, csvContent, grid.options.exporterCsvColumnSeparator, grid.options.exporterOlderExcelCompatibility);
630630
});
631631
},
632632

@@ -909,20 +909,29 @@
909909
* download as a file
910910
* @param {boolean} exporterOlderExcelCompatibility whether or not we put a utf-16 BOM on the from (\uFEFF)
911911
*/
912-
downloadFile: function (fileName, csvContent, exporterOlderExcelCompatibility) {
912+
downloadFile: function (fileName, csvContent, columnSeparator, exporterOlderExcelCompatibility) {
913913
var D = document;
914914
var a = D.createElement('a');
915915
var strMimeType = 'application/octet-stream;charset=utf-8';
916916
var rawFile;
917-
var ieVersion;
917+
var ieVersion = this.isIE();
918+
919+
// IE10+
920+
if (navigator.msSaveBlob) {
921+
return navigator.msSaveOrOpenBlob(
922+
new Blob(
923+
[exporterOlderExcelCompatibility ? "\uFEFF" : '', csvContent],
924+
{ type: strMimeType } ),
925+
fileName
926+
);
927+
}
918928

919-
ieVersion = this.isIE();
920-
if (ieVersion && ieVersion < 10) {
929+
if (ieVersion) {
921930
var frame = D.createElement('iframe');
922931
document.body.appendChild(frame);
923932

924-
frame.contentWindow.document.open("text/html", "replace");
925-
frame.contentWindow.document.write('sep=,\r\n' + csvContent);
933+
frame.contentWindow.document.open('text/html', 'replace');
934+
frame.contentWindow.document.write('sep=,' + columnSeparator + '\r\n' + csvContent);
926935
frame.contentWindow.document.close();
927936
frame.contentWindow.focus();
928937
frame.contentWindow.document.execCommand('SaveAs', true, fileName);
@@ -931,16 +940,6 @@
931940
return true;
932941
}
933942

934-
// IE10+
935-
if (navigator.msSaveBlob) {
936-
return navigator.msSaveOrOpenBlob(
937-
new Blob(
938-
[exporterOlderExcelCompatibility ? "\uFEFF" : '', csvContent],
939-
{ type: strMimeType } ),
940-
fileName
941-
);
942-
}
943-
944943
//html5 A[download]
945944
if ('download' in a) {
946945
var blob = new Blob(

0 commit comments

Comments
 (0)