Improves "save as Excel" functionality (#24653)

This commit is contained in:
2023-10-11 22:50:22 -04:00
committed by GitHub
parent aaa9c4a744
commit f1467cdd72
4 changed files with 58 additions and 0 deletions

View File

@@ -2544,4 +2544,26 @@ declare module 'azdata' {
*/
splitViewSize?: number | string | undefined;
}
export interface SaveResultsRequestParams {
/**
* Whether to freeze the header row when saving as Excel.
*/
freezeHeaderRow?: boolean | undefined;
/**
* Whether to bold the header row when saving as Excel.
*/
boldHeaderRow?: boolean | undefined;
/**
* Whether to enable auto filter on the header row when saving as Excel.
*/
autoFilterHeaderRow?: boolean | undefined;
/**
* Whether to auto size columns when saving as Excel.
*/
autoSizeColumns?: boolean | undefined;
}
}

View File

@@ -14,6 +14,10 @@ export interface IQueryEditorConfiguration {
};
readonly saveAsExcel: {
readonly includeHeaders: boolean;
readonly freezeHeaderRow: boolean;
readonly boldHeaderRow: boolean;
readonly autoFilterHeaderRow: boolean;
readonly autoSizeColumns: boolean;
};
readonly saveAsMarkdown: {
readonly encoding: string;

View File

@@ -258,6 +258,26 @@ const queryEditorConfiguration: IConfigurationNode = {
'description': localize('queryEditor.results.saveAsExcel.includeHeaders', "When true, column headers are included when saving results as an Excel file"),
'default': true
},
'queryEditor.results.saveAsExcel.freezeHeaderRow': {
'type': 'boolean',
'description': localize('queryEditor.results.saveAsExcel.freezeHeaderRow', "When true, freeze the header row when saving results as an Excel file"),
'default': false
},
'queryEditor.results.saveAsExcel.autoFilterHeaderRow': {
'type': 'boolean',
'description': localize('queryEditor.results.saveAsExcel.autoFilterHeaderRow', "When true, enable auto filtering on the header row when saving results as an Excel file"),
'default': false
},
'queryEditor.results.saveAsExcel.autoSizeColumns': {
'type': 'boolean',
'description': localize('queryEditor.results.saveAsExcel.autoSizeColumns', "When true, attempt to automatically size columns when saving results as an Excel file"),
'default': false
},
'queryEditor.results.saveAsExcel.boldHeaderRow': {
'type': 'boolean',
'description': localize('queryEditor.results.saveAsExcel.boldHeaderRow', "When true, make the header row bold when saving results as an Excel file"),
'default': false
},
'queryEditor.results.saveAsCsv.encoding': {
'type': 'string',
'description': localize('queryEditor.results.saveAsCsv.encoding', "File encoding used when saving results as CSV"),

View File

@@ -259,6 +259,18 @@ export class ResultSerializer {
if (saveConfig.includeHeaders !== undefined) {
saveResultsParams.includeHeaders = saveConfig.includeHeaders;
}
if (saveConfig.freezeHeaderRow !== undefined) {
saveResultsParams.freezeHeaderRow = saveConfig.freezeHeaderRow;
}
if (saveConfig.boldHeaderRow !== undefined) {
saveResultsParams.boldHeaderRow = saveConfig.boldHeaderRow;
}
if (saveConfig.autoFilterHeaderRow !== undefined) {
saveResultsParams.autoFilterHeaderRow = saveConfig.autoFilterHeaderRow;
}
if (saveConfig.autoSizeColumns !== undefined) {
saveResultsParams.autoSizeColumns = saveConfig.autoSizeColumns;
}
}
return saveResultsParams;