Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: oa-cta-i от 02 Февраля 2017, 16:34:16

Название: Запись в Excel
Отправлено: oa-cta-i от 02 Февраля 2017, 16:34:16
Добрый день, тыкните пожалуйста носом, не могу найти процедуру записи переменной в ексель по нажатию или по времени. К примеру, каждый день в 15:00 в файл эксель записывается переменная adr1 типа word. Как это можно реализовать? Заранее благодарю! :-\ :)
Название: Re: Запись в Excel
Отправлено: Vladimir от 03 Февраля 2017, 08:37:59
Добрый день, тыкните пожалуйста носом, не могу найти процедуру записи переменной в ексель по нажатию или по времени. К примеру, каждый день в 15:00 в файл эксель записывается переменная adr1 типа word. Как это можно реализовать? Заранее благодарю! :-\ :)
Страница 104 в руководстве по скриптам. процедура
Код
ToExcel(AFileName: UTF8String; ATimeBegin, ATimeEnd: TDateTime; AExportType: TM_ValueExportType; APrint: Boolean);
не подойдет? должна быть лицензия Standart или Professional
Название: Re: Запись в Excel
Отправлено: Simple_Scada от 03 Февраля 2017, 09:40:36
Здравствуйте!

Как уже правильно написал Vladimir, Вы можете экспортировать значения переменной за определенный интервал времени в файл Excel с помощью процедуры ToExcel (экспорт в файл Excel на сервере) или ToExcelClient (экспорт в файл Excel на клиент). Данные процедуры доступны в версиях Standard и Professional. При этом на ПК куда производится экспорт должен быть обязательно установлен MS Excel. Здесь (http://simple-scada.com/scripts_manual?section=script_variable)можно ознакомиться с результатами различных вариантов экспорта.

Для того чтобы экспортировать в 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.
Название: Re: Запись в Excel
Отправлено: oa-cta-i от 06 Февраля 2017, 09:52:56
Благодарю, разобрался! :)
Название: Re: Запись в Excel
Отправлено: oa-cta-i от 08 Февраля 2017, 14:52:44
А можно еще такой вопрос, можно ли процедурой ToExcel записывать в 1 файл несколько переменных??? Если этой процедурой нельзя, то какой можно и можно ли вообще?? Заранее благодарю!
Название: Re: Запись в Excel
Отправлено: oa-cta-i от 10 Февраля 2017, 10:06:40
 :) Кто-нибудь знает ответ?  :)
Название: Re: Запись в Excel
Отправлено: Simple-Scada от 10 Февраля 2017, 15:25:45
Здравствуйте. Извините за поздний ответ. Сейчас можно экспортировать только в отдельный файл для каждой переменной. В один файл нельзя и в ближайшем будущем это будет решаться системой отчетов.