From e763104a6f16d46f57c7c14397b9f469c10618e9 Mon Sep 17 00:00:00 2001 From: Daniel Lee Date: Wed, 23 Aug 2017 15:17:51 +0200 Subject: [PATCH] csv: add toggle for export to Excel Adds back feature that adds 'sep=;' text that excel needs in a csv file. Also adds toggle to make this optional if exporting to other spreadsheet programs. Fixes #9083. --- public/app/core/utils/file_export.ts | 12 ++++++------ .../dashboard/export_data/export_data_modal.html | 8 ++++++-- .../dashboard/export_data/export_data_modal.ts | 14 +++++++++++--- public/app/plugins/panel/table/module.ts | 9 ++++++++- 4 files changed, 31 insertions(+), 12 deletions(-) diff --git a/public/app/core/utils/file_export.ts b/public/app/core/utils/file_export.ts index 960be37230c..96af397fadf 100644 --- a/public/app/core/utils/file_export.ts +++ b/public/app/core/utils/file_export.ts @@ -7,8 +7,8 @@ declare var window: any; const DEFAULT_DATETIME_FORMAT: String = 'YYYY-MM-DDTHH:mm:ssZ'; -export function exportSeriesListToCsv(seriesList, dateTimeFormat = DEFAULT_DATETIME_FORMAT) { - var text = 'Series;Time;Value\n'; +export function exportSeriesListToCsv(seriesList, dateTimeFormat = DEFAULT_DATETIME_FORMAT, excel = false) { + var text = excel ? 'sep=;\n' : '' + 'Series;Time;Value\n'; _.each(seriesList, function(series) { _.each(series.datapoints, function(dp) { text += series.alias + ';' + moment(dp[1]).format(dateTimeFormat) + ';' + dp[0] + '\n'; @@ -17,8 +17,8 @@ export function exportSeriesListToCsv(seriesList, dateTimeFormat = DEFAULT_DATET saveSaveBlob(text, 'grafana_data_export.csv'); } -export function exportSeriesListToCsvColumns(seriesList, dateTimeFormat = DEFAULT_DATETIME_FORMAT) { - var text = 'Time;'; +export function exportSeriesListToCsvColumns(seriesList, dateTimeFormat = DEFAULT_DATETIME_FORMAT, excel = false) { + var text = excel ? 'sep=;\n' : '' + 'Time;'; // add header _.each(seriesList, function(series) { text += series.alias + ';'; @@ -52,8 +52,8 @@ export function exportSeriesListToCsvColumns(seriesList, dateTimeFormat = DEFAUL saveSaveBlob(text, 'grafana_data_export.csv'); } -export function exportTableDataToCsv(table) { - var text = ''; +export function exportTableDataToCsv(table, excel = false) { + var text = excel ? 'sep=;\n' : ''; // add header _.each(table.columns, function(column) { text += (column.title || column.text) + ';'; diff --git a/public/app/features/dashboard/export_data/export_data_modal.html b/public/app/features/dashboard/export_data/export_data_modal.html index ad6494f16cc..8e46d121e95 100644 --- a/public/app/features/dashboard/export_data/export_data_modal.html +++ b/public/app/features/dashboard/export_data/export_data_modal.html @@ -11,17 +11,21 @@