Экспорт данных в книгу MS Excel

Чтобы экспортировать данные из таблицы БД AnyLogic в файл MS Excel

  1. В панели Проекты, щелкните по элементу модели База данных.
  2. В панели Свойства, разверните секцию Экспорт.
  1. Прежде чем непосредственно выполнить экспорт, необходимо настроить действие экспорта. Если вы этого еще не сделали, нажмите на метку Настройки экспорта....
  2. Вы увидите диалоговое окно Настройки экспорта. Используя кнопку Выбрать..., укажите файл MS Excel в который вы хотите записать информацию. Путь к файлу будет отображаться в поле Экспортировать в, которое расположено ниже в секции свойств Экспорт.
  3. Ниже, в списке Выберите таблицы для экспорта, отметьте флажками таблицы баз данных, которые вы хотите экспортировать в книгу MS Excel.
  4. Нажмите кнопку OK.
        1. Если вы хотите выполнить экспортирование данных, нажмите в свойствах Базы данных на метку Экспорт таблицы в Excel.
        2. Если вы хотите, чтобы данные экспортировались каждый раз, когда моделирование закончено или прервано пользователем, установите флажок напротив пункта Экспортировать таблицы после прогона модели.

        Если выбранный файл MS Excel открыт в данный момент, вы увидите сообщение об ошибке. Закройте приложение MS Excel и повторите процесс экспорта.

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

        Чтобы экспортировать таблицу из внутренней базы данных модели в файл Excel с помощью кода

        AnyLogic позволяет экспортировать данные из внутренней базы данных во внешний файл Excel. Для этого можно воспользоваться любым из имеющихся кодовых полей: например, телом функции или действием агента.

        Чтобы задать процедуру экспорта в коде:

        1. Используйте конструктор класса Database, чтобы указать местоположение нужного файла Excel. Например:
          Database myFile = new Database(this, "A DB from Excel", "D:\\Files\myDBFile.xls")
          Первый аргумент конструктора класса Database (this) указывает на владельца базы данных (агента или эксперимент). Второй аргумент ("A DB from Excel") — опциональное имя для базы данных для вашего удобства. Третий — это имя файла.
          Вам нет необходимости каждый раз указывать абсолютный путь до файла — сработает и относительный. Кроме того, вы можете воспользоваться различными прикладными элементами интерфейса, чтобы люди, работающие с моделью, могли указывать разные файлы. Например, для этой цели подойдет элемент выбора файла.
        2. Получите доступ ко внутренней базе данных модели, создав экземпляр объекта ModelDatabase:
          ModelDatabase modelDB = getEngine.getModelDatabase();
        3. Наконец, вызовите функцию exportToExternalDB():
          modelDB.exportToExternalDB("Internal DB - Excel Sheet 1", myFile.getConnection(), "Sheet 1", true, false);
          Данная функция использует объект Connection (соединение с базой данных), который получается в результате вызова метода getConnection(). Первый аргумент ("Internal DB - Excel Sheet 1") указывает на имя таблицы во внутренней базе данных модели, а третий ("Sheet 1") — на имя таблицы во внешней базе данных (файле Excel). true в 4-м аргументе сообщает о необходимости очистить содержимое целевой таблицы перед выполнением метода. Последнее false означает, что процесс копирования не будет обработан, как полноценная транзакция с базы данных (что в некоторых случаях может приводить к проблемам с производительностью).
          Если вам необходимо экспортировать данные из нескольких таблиц, повторите вызов функции и укажите имя другого листа в том же файле или другой файл.
        4. После выполнения описанного кода лист Excel заполнится значениями.
          Вы можете вызвать myFile.disconnect(), чтобы отключиться от базы данных и продолжить работу с моделью.