Выгрузка в Excel (инструкция для программиста)

WebObjectListView позволяет выгружать данные в формате Excel.

Эта функция включается операцией:

/// <summary>
/// Вызывается самым первым в Page_Load.
/// </summary>
protected override void Preload()
{
    WebObjectListView1.Operations.ExportToExcel = true;
}

Представление для экспорта

Задать представление, используемое по умолчанию для экспорта, можно из кода, установив поле ExportView у WOLV:

WebObjectListView1.ExportView = Клиент.View.КлиентExport;

Выгрузка детейлов

Выгрузка детейлов осуществляется в том случае, если они присутствуют в представлении. Пользователь может настроить параметры детейлового столбца также, как и остальные свойства объекта.

Существует 2 настройки на web-форме редактирования для управления выгрузкой детейлов.

  1. Поля детейлов в отдельные столбцы.
  2. Детейлы в отдельные строки.
  • Если ни 1 из настроек не выставлена, то детейлы выгружаются в 1 ячейку в строку:
Аггрегатор Детейл
Поле аггрегатора Детейл: Поле 1го детейла; Детейл: Поле 2го детейла; Детейл: Поле 3го детейла;
  • Если выставлена настройка Поля детейлов в отдельные столбцы, то детейлы выгружаются в 1 ячейку в столбец:
Аггрегатор Детейл
Поле аггрегатора Поле 1го детейла
  Поле 2го детейла
  Поле 3го детейла
  • Если выставить обе настройки сразу, то каждый детейл будет выводиться в новую строку, а поля агрегатора с различных строк объединятся в 1 ячейку:

  • Выставлять только настройку Детейлы в отдельные строки, пока бессмысллено, ведется доработка данной настройки.

Примечание: если в представление у поля детейла не задан заголовок, то в качестве заголовка поля при выгрузке будет использоваться имя поля.

Сервис данных

По умолчанию для выгрузки в Excel используется сервис данных DataServiceProvider.DataService. Если требуется задать другой, отдельный сервис данных для выгрузки в Excel, то это может быть сделано в Web.config путем регистрации сервиса под именем ExcelExportDataService в Unity. Пример конфигурации, чтобы для выгрузки в Excel использовался сервис данных IcsharpSoft.STORMNET.Business.DRDataService:

<unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
  <container>
    <register name="ExcelExportDataService" type="IcsharpSoft.STORMNET.Business.IDataService, IcsharpSoft.STORMNET.Business" mapTo="IcsharpSoft.STORMNET.Business.DRDataService, IcsharpSoft.STORMNET.Business.DRDataService">
      <constructor />
    </register>
  </container>
</unity>

Огриничение на максимальное количество объектов

Для настройки максимального количества экспортируемых объектов следует вопспользоваться параметром конфигурации WOLVExportLimit:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="WOLVExportLimit" value="10000" />
  </appSettings>
</configuration>

Отрицательные значения параметра и 0 отключают ограничение на максимальное количество экспортируемых объектов.

Добавление таблицы для хранения настроек

Чтобы добавить в базу данных таблицу для хранения пользовательских настроек, необходимо иметь структуру данных, используемую UserSettingsService. Таблица генерируется автоматически.

Выгрузка в Excel (инструкция для пользователя)

Для выгрузки данных из списка необходимо нажать на кнопку Выгрузить в Excel на панели инструментов, в открывшемся окне настроить формат выгружаемых данных и подтвердить выгрузку, нажав на кнопку OK.

На форме можно:

  • Указать видимость полей, установив или сняв флажок в левой части каждой строки.
  • Указать направление сортировки (без сортировки, по возрастанию или по убыванию) для каждого столбца данных.
  • Указать приоритет сортировки (если указана одна из сортировок)
  • Указать название столбца данных
  • Поменять порядок следования столбцов данных
    • При помощи кнопок вверх и вниз в правой части каждой строки
    • Или при помощи перетаскивания строк

По умолчанию выгружаются все данные, содержащиеся в списке с учётом наложенных фильтров и сортировки.

Если в списке выделить какие-либо записи при помощи галочек, то будут выгружаться только выбранные записи.

Созданные настройки выгрузки можно сохранять для последующего применения. Настройки задаются отдельными пользователями и не могут быть опубликованы для других пользователей.

Для создания настройки необходимо выбрать пункт меню Создать набор полей для экспорта.... В открывшемся окне необходимо произвести необходимую настройку, указать наименование настройки и нажать кнопку Сохранить. Сохраненные настройки доступны из меню списка. При выборе сохраненной настройки автоматически будет предложено сохранить Excel-файл.

Отредактировать или удалить настройки можно при выборе соответствующего пункта меню.

Файлы выгружаются в XML, интерпретируемый Microsoft Excel, расширение у файла выставлено как *.xls (стандартное расширение документов MS Excel). При открытии полученного файла в Excel выведется предупреждение: