На главную.

1. Формирование отчетов в MS Excel (описание).
2. Установка.

1. Формирование отчетов в MS Excel (описание).

Программа позволяет выгружать отчеты пользователям из базы данных Oracle в MS Excel. Это серверное решение, которое не занимает оперативную память. Отчет сохраняется в процессе выгрузки непосредственно в файловую систему сервера и по окончанию загрузки пользователь получает ссылку на запрошенный отчет с введенными параметрами. Так же время формирования отчета неограниченно. Т.е. отчет может формироваться часами, и при этом не произойдёт ошибок, связанных с превышением вермени ожидания.

Программа состоит из 2 частей.

2. Установка.

Скачать приложение

Для успешной работы приложения на сервере должно быть установлено следующее ПО:

Настройки:

Установка:

  1. Строка соединения с базой:

    Строка соединения хранится в файле, путь к которому надо указать в web.config:
    Путь в web.config:
    			<appSettings/>
    			…
    			<add key="connectionFile" value="C:\ExcelReporting\ConfigFiles\connections.xml" />
    			…
    			</appSettings>
    			
    Содержимое файла:
    			<?xml version="1.0" encoding="utf-8"?>
    			<ArrayOfDBConnection xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    			  <DBConnection>
    				<type>Oracle</type>
    				<value>Data Source=ORACLEBASE;User ID=ORACLEUSER;Password=ORACLEUSERPASSWORD;Unicode=True</value>
    			  </DBConnection>
    			</ArrayOfDBConnection>
     
  2. Путь к папке, в которой будут лежать выгрузки на стороне сервера

    Путь в web.config:
    			<appSettings>
    			…
    			<add key="PublicPath" value="C:\ExcelReporting\TempReports\" />
    			…
    			</appSettings>
    			
  3. Файл в котором будут содержаться описания выгружаемых отчетов

    Путь в web.config:
    			<appSettings>
    			…
    			<add key="ClientFileName" value="special" />
    			…
    			</appSettings>
    			  
  4. Проверка доступа на основании таблиц в БД

    Путь в web.config:
    			<appSettings>
    			…
    			<add key="DBSecurity" value="true" />
    			…
    			</appSettings>
    			  
  5. Пусть к папке в которой лежит файл с описанием выгрузок

    Путь в web.config:
    			<appSettings>
    			…
    			<add key="SourceDir" value="C:\ExcelReporting\ConfigFiles\" />
    			…
    			</appSettings>
    			  
  6. Пусть к папке в которой лежат шаблоны для выгрузок

    Путь в web.config:
    			<appSettings>
    			…
    			<add key="ExcelTemplatesPath" value="C:\ExcelReporting\TempReports\ExcelTemplates\"/>
    			…
    			</appSettings>
    			  
  7. Таблица доступа

    Путь в web.config:
    			<appSettings>
    			…
    			<add key="AccessTable" value="utl_role_username" />
    			…
    			</appSettings>
    			
    Структура таблицы:
    			 create table UTL_ROLE_USERNAME
    				(
    				  id_user     VARCHAR2(255) not null,
    				  username    VARCHAR2(255),
    				  id_role     NUMBER not null,
    				  name_role   NVARCHAR2(255),
    				  server_name NVARCHAR2(255) not null,
    				  email       VARCHAR2(255)
    				)
    
    			 
    Для Администраторов необходимо прописать туда доступ:
    			 insert into utl_role_username
                                                (id_user, username, id_role, name_role, server_name, email)
                                              values
                                                (:v_id_user, '123', 1, 'Администраторы', 'test', '123');
    
    
    			 
    Где : v_id_user = Request.LogonUserIdentity.Name
  8. Таблица в которой будут хранится русские эквиваленты названий колонок.

    Путь в web.config:
    			  <appSettings>
    				…
    				<add key="ReportsColumnNames" value="utl_reports_column_names" />
    				…
    			  </appSettings>
    			  
    Структура таблицы:
    			  create table UTL_REPORTS_COLUMN_NAMES
    				(
    				  reportname      VARCHAR2(1000),
    				  basecolumnname  VARCHAR2(255),
    				  excelcolumnname VARCHAR2(4000)
    				)
    			  
  9. Таблица в которой будет хранится лог русских эквивалентов названий колонок.

    Путь в web.config:
    			  <appSettings>
    				…
    				<add key="ReportsColumnNamesLog" value="utl_reports_column_names_log" />
    				…
    			  </appSettings>
    			  
    Структура таблицы:
    			  create table UTL_REPORTS_COLUMN_NAMES_LOG
    					(
    					  reportname      VARCHAR2(1000),
    					  basecolumnname  VARCHAR2(255),
    					  excelcolumnname VARCHAR2(4000),
    					  user_name       VARCHAR2(255),
    					  modifieddate    DATE
    					)
    			  
  10. Таблица в которой будет хранится лог изменений отчетов.

    Путь в web.config:
    			  <appSettings>
    				…
    				<add key="utl_reports_log" value="utl_reports_log" />
    				…
    			  </appSettings>
    			  
    Структура таблицы:
    			  create table UTL_REPORTS_LOG
    				(
    				  save_date DATE,
    				  save_user VARCHAR2(1000),
    				  data      CLOB
    				)