Выгрузка в Excel (инструкция для программиста)
WebObjectListView позволяет выгружать данные в формате Excel.
Эта функция включается операцией:
/// <summary>
/// Вызывается самым первым в Page_Load.
/// </summary>
protected override void Preload()
{
WebObjectListView1.Operations.ExportToExcel = true;
}
Представление для экспорта
Задать представление, используемое по умолчанию для экспорта, можно из кода, установив поле ExportView
у WOLV:
WebObjectListView1.ExportView = Клиент.View.КлиентExport;
Выгрузка детейлов
Выгрузка детейлов осуществляется в том случае, если они присутствуют в представлении. Пользователь может настроить параметры детейлового столбца также, как и остальные свойства объекта.
Существует 2 настройки на web-форме редактирования для управления выгрузкой детейлов.
- Поля детейлов в отдельные столбцы.
- Детейлы в отдельные строки.
- Если ни 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 выведется предупреждение: