Задание вычислимых названий для файлов экспорта в Excel и его листов

Материал из 3v-wiki
Перейти к навигации Перейти к поиску


Добавлена возможность задания вычислимых названий листов и файла Excel для экспорта пивотов карточки через ReportTemplate

 1 ...
 2    "reportTemplates": [
 3     {
 4       "reportName": "Имя не будет использоваться, т.к. задан ExpressionId",
 5       "reportNameExpressionId": 1,
 6       "sheets": [
 7         {
 8           "name": "Имя не будет использоваться, т.к. задан ExpressionId",
 9           "nameExpressionId": 2,
10         }
11       ],
12       "placeEachPivotToSeparateFile": false,
13       "placeEachPivotToSeparateSheet": true,
14       "commonSheetName": "Имя не будет использоваться, т.к. задан ExpressionId",
15       "commonSheetNameExpressionId": 4,
16     }
17    ]
18 ...

В карточках в ReportTemplateDto добавлены

 1 /// <summary>
 2 /// Идентификатор выражения вычисляющего название файла экспорта.
 3 /// Если выражение не задано, то берется <see cref="ReportName"/>.
 4 /// </summary>
 5 public int? ReportNameExpressionId { get; set; }
 6 
 7 /// <summary>
 8 /// Наименование листа, если включен <see cref="PlaceEachPivotToSeparateSheet"/>.
 9 /// </summary>
10 public string CommonSheetName { get; set; }
11 
12 /// <summary>
13 /// Идентификатор выражения вычисляющего Наименование листа, если включен <see cref="PlaceEachPivotToSeparateSheet"/>.
14 /// Если выражение не задано, то берется <see cref="CommonSheetName"/>.
15 /// </summary>
16 public int? CommonSheetNameExpressionId { get; set; }

в ReportSheetDto добавлен

1 /// <summary>
2 /// Выражение вычисляющее наименование страницы.
3 /// Если выражение не задано, то берется <see cref="Name"/>.
4 /// </summary>
5 public int? NameExpressionId { get; set; }

В экспорте отчетов для XlsxExportSettingsDto помечен устаревшим

1 [Obsolete("Следует задавать SheetNameSettings")]
2 public bool PlaceEachPivotToSeparateSheet { get; set; }

добавлено новое свойство

1 /// <summary>
2 /// Настройки имен листов для экспортируемых пивотов.
3 /// </summary>
4 public SheetNameSettingsDto SheetNameSettings { get; set; }

Для которого доступны 2 реализации:

 1 /// <summary>
 2 /// Настройки экспорта всех пивотов на один лист.
 3 /// </summary>
 4 public class CommonSheetNameDto : SheetNameSettingsDto
 5 {
 6 /// <summary>
 7 /// Имя листа.
 8 /// </summary>
 9 public string Name { get; set; }
10 }
11 
12 /// <summary>
13 /// Настройки имен листов, в случе экспорта нескольких пивотов на разные листы
14 /// </summary>
15 public class IndividualSheetNameDto : SheetNameSettingsDto
16 {
17 }