Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Запись в Excel  (Прочитано 8592 раз)

oa-cta-i

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Запись в Excel
« : 02 Февраля 2017, 16:34:16 »
Добрый день, тыкните пожалуйста носом, не могу найти процедуру записи переменной в ексель по нажатию или по времени. К примеру, каждый день в 15:00 в файл эксель записывается переменная adr1 типа word. Как это можно реализовать? Заранее благодарю! :-\ :)

Vladimir

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Запись в Excel
« Ответ #1 : 03 Февраля 2017, 08:37:59 »
Добрый день, тыкните пожалуйста носом, не могу найти процедуру записи переменной в ексель по нажатию или по времени. К примеру, каждый день в 15:00 в файл эксель записывается переменная adr1 типа word. Как это можно реализовать? Заранее благодарю! :-\ :)
Страница 104 в руководстве по скриптам. процедура
Код
ToExcel(AFileName: UTF8String; ATimeBegin, ATimeEnd: TDateTime; AExportType: TM_ValueExportType; APrint: Boolean);
не подойдет? должна быть лицензия Standart или Professional

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1414
    • Просмотр профиля
Re: Запись в Excel
« Ответ #2 : 03 Февраля 2017, 09:40:36 »
Здравствуйте!

Как уже правильно написал Vladimir, Вы можете экспортировать значения переменной за определенный интервал времени в файл Excel с помощью процедуры ToExcel (экспорт в файл Excel на сервере) или ToExcelClient (экспорт в файл Excel на клиент). Данные процедуры доступны в версиях Standard и Professional. При этом на ПК куда производится экспорт должен быть обязательно установлен MS Excel. Здесь можно ознакомиться с результатами различных вариантов экспорта.

Для того чтобы экспортировать в Excel каждый день в 15 : 00 нужно перейти в редактор скриптов, создать новый скрипт, выбрать тип события "Прошел час" и написать такой скрипт (начало и конец интервала измените на те которые Вам подходят ):

Код
var
aBegin, aEnd: TDateTime;
begin
  if HourOf(Now) = 15 then  // если 15 часов, то...
  begin
    aEnd := Now;                  // конец интервала: текущая дата;
    aBegin := IncMonth(aEnd, -1); // начало интервала: текущая дата – 1 месяц;
    MyVariable.ToExcel('MyFile', aBegin, aEnd, evtHourMinMaxAvg, True); // экспортировать в Excel минимальное, максимальное и среднее значение для каждого часа переменной MyVariable и распечатать результат;
  end;
end.

oa-cta-i

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Запись в Excel
« Ответ #3 : 06 Февраля 2017, 09:52:56 »
Благодарю, разобрался! :)

oa-cta-i

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Запись в Excel
« Ответ #4 : 08 Февраля 2017, 14:52:44 »
А можно еще такой вопрос, можно ли процедурой ToExcel записывать в 1 файл несколько переменных??? Если этой процедурой нельзя, то какой можно и можно ли вообще?? Заранее благодарю!
« Изменён: 09 Февраля 2017, 15:54:59 от oa-cta-i »

oa-cta-i

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Запись в Excel
« Ответ #5 : 10 Февраля 2017, 10:06:40 »
 :) Кто-нибудь знает ответ?  :)

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3225
    • Просмотр профиля
    • Simple-Scada
Re: Запись в Excel
« Ответ #6 : 10 Февраля 2017, 15:25:45 »
Здравствуйте. Извините за поздний ответ. Сейчас можно экспортировать только в отдельный файл для каждой переменной. В один файл нельзя и в ближайшем будущем это будет решаться системой отчетов.