0

Работа с отчетом

Михаил 10 лет назад в Редактор каналов обновлен 10 лет назад 0
Пытался сделать запись в файл на основании Ваших примеров "Работа с объектом Excel. Примеры не работают

var
D,i:Integer;
OpenDialog1: TOpenDialog;

begin

OpenDialog1:=TOpenDialog.Create(nil);
try
OpenDialog1.Filter:='Excel\*.xlsx';
OpenDialog1.InitialDir:='C:\slProject';
if OpenDialog1.Execute then
begin
if Excel.OpenTemplate(OpenDialog1.FileName)=1 then
i:=1;
if Excel.OpenTemplate(OpenDialog1.FileName)= 2 then
i:=2;
if Excel.OpenTemplate(OpenDialog1.FileName)=3 then
i:=3;
if Excel.OpenTemplate(OpenDialog1.FileName)= 9 then
i:=9;
if Excel.OpenTemplate(OpenDialog1.FileName)= 0 then
i:=0;

if Excel.OpenTemplate(OpenDialog1.FileName)<>0 then
begin
i:=5;
Exit;
end;
Excel.Cell['A1']:=100;
D:=Excel.Cell['B2'];

Excel.Show;
Excel.Save('C:\slProject1\Report');
end;

OpenDialog1.Free;
finally
end;
end.
что я не так делаю????
День добрый.

var D ,i:Integer; OpenDialog1: TOpenDialog; res: integer; begin OpenDialog1 := TOpenDialog.Create(nil); try OpenDialog1.Filter:='Excel|*.xlsx'; OpenDialog1.InitialDir:='C:\slProject'; if OpenDialog1.Execute then begin i := Excel.OpenTemplate(OpenDialog1.FileName); if i <> 0 then begin i:=5; Exit; end; Excel.Cell['A1'] := 100; D := Excel.Cell['B2']; Excel.Show; Excel.Save('C:\slProject1\Report.xls'); end; finally OpenDialog1.Free; end; end.
Вот такой вариант будет более правильный. Что именно у Вас не работало?
При выполнении скрипта, он выходит на выбор файла, я выбираю файл, и все…. По тексту моего примера, я проверял что за ошибку выдает метод OpenTemplate, перебором всех ошибок. Так он выдает какую-то другую ошибку у меня i всегда 5.
При выполнении скрипта, он выходит на выбор файла, я выбираю файл, и все…. По тексту моего примера, я проверял что за ошибку выдает метод OpenTemplate, перебором всех ошибок. Так он выдает какую-то другую ошибку у меня i всегда 5.

Попробуйте для теста мой вариант.
Пробовал те же я…ца.
Пробовал те же я…ца.

хотя исходя из кода если будет ошибка то результат всегда будет 5. Немного переделаем скрипт:

var D ,i:Integer; OpenDialog1: TOpenDialog; res: integer; begin OpenDialog1 := TOpenDialog.Create(nil); try OpenDialog1.Filter:='Excel|*.xlsx'; OpenDialog1.InitialDir:='C:\slProject'; if OpenDialog1.Execute then begin i := Excel.OpenTemplate(OpenDialog1.FileName); if i <> 0 then Exit; Excel.Cell['A1'] := 100; D := Excel.Cell['B2']; Excel.Show; Excel.Save('C:\slProject1\Report.xls'); end; finally OpenDialog1.Free; end; end.
да и ещё не заметил момент:

вот такая последовательность команд работать не будет!

Excel.Show;
Excel.Save('C:\slProject1\Report.xls');

После выполнения методов Show, Close – скрипт теряет контроль над открытым
документом Excel, и последующие команды игнорируются.
Убрал Excel.Show;, то же самое i=5? документ не изменяется.
Ок. Другой документ Excel открывает? Версия ОС, версия Excel.
Ок. Другой документ Excel открывает? Версия ОС, версия Excel.
И еще не скромный вопрос на сколько полно реализован FastScript 1.9
Библиотека скриптов. И насколько возможно заполучить исходники Редактора мнемосхем и Редактора каналов????
И еще не скромный вопрос на сколько полно реализован FastScript 1.9

На столько полно на сколько реализован FastScript.

И насколько возможно заполучить исходники Редактора мнемосхем и Редактора каналов????

Этого сделать нельзя.
То есть все, что сделано у Alexander Tzyganenko - будет работать???
То есть все, что сделано у Alexander Tzyganenko - будет работать???

Все что реализовано в программном продукте Fast Reports Inc (FastScript) ,будет работать в рамках функционала который предоставляет SIMP LIGHT.
ЖАЛЬ,ЖАЛЬ,жаль… Функционал не очень, потому и хотел добавить свое, ну видно придется все-таки браться за Дельфи…
ЖАЛЬ,ЖАЛЬ,жаль…

Что именно жаль. Не понял вопроса?
ЖАЛЬ,ЖАЛЬ,жаль… Функционал не очень, потому и хотел добавить свое, ну видно придется все-таки браться за Дельфи…

Чего именно не хватает?
Извиняюсь, пора домой. У нас в Калуге жара и рабочий день сокращен до 15.00. До завтра.
Извиняюсь, пора домой. У нас в Калуге жара и рабочий день сокращен до 15.00. До завтра.

Ок. Всего доброго. За Вами ответ на предыдущий вопрос.))
Попробовал все примеры из Вашего "Что нужно знать для составления отчета" с использованием в скриптах Excel, не работает ни один. Что не так, очень нужно сохранять данные в файлах.
Попробовал все примеры из Вашего "Что нужно знать для составления отчета" с использованием в скриптах Excel, не работает ни один. Что не так, очень нужно сохранять данные в файлах.

Не работает как? Не открывает, не сохраняет, симптомы какие?
Т.е. вот такой пример у Вас не работает?

var OpenDialog1: TOpenDialog; begin OpenDialog1 := TOpenDialog.Create(nil); try OpenDialog1.Filter:='Excel|*.xlsx'; OpenDialog1.InitialDir:='C:\slProject'; if OpenDialog1.Execute then begin if Excel.OpenTemplate(OpenDialog1.FileName) = 0 then begin Excel.Cell['A1'] := 100; Excel.Cell['A2'] := 200; Excel.Cell['A3'] := 300; Excel.Cell['A4'] := 400; Excel.Save('C:\slProject1\Report.xls'); Excel.Show(false); end; end; finally OpenDialog1.Free; end; end.
Не работает. То есть при нажатии "Выполнить" - появляется окно выбора файла, выбираю файл, жму открыть. И все . Открываю файл а он пустой.
Не работает. То есть при нажатии "Выполнить" - появляется окно выбора файла, выбираю файл, жму открыть. И все . Открываю файл а он пустой.

Вместо команды Excel.Show используйте Excel.Show(false);
Так оно и есть. Я же писал выше , что с файлом скрипт не проводит никакой работы - if Excel.OpenTemplate(OpenDialog1.FileName) = 0 всегда FALSE/
есть TeamViewer подключусь посмотрю на месте.
Ок. Спс. Проблему видел, отдал программистам для проверки. В следуюший раз логин и пароль лучше на почту, а не на форум.
p.s. смените пароль
Михаил, оставьте свою почту, скайп для более оперативной связи с вами.
Уважаемый Сергей как обстоят дела с Excel??
День добрый, Михаил.

Выслал Вам на почту файлы для теста.
Уважаемый Сергей, разобрался с Excel- изначально, если посмотрите первый пост - я читаю файл из директории C:/slProject, а сохраняю файл - в директорию C:/slProject1 , а Excel этого естественно не понимает.
Это первое, и второе - не плохо было бы дать описание работы с драйвером Modbus.
День добрый.

…разобрался с Excel- изначально, если посмотрите первый пост - я читаю файл из директории C:/slProject, а сохраняю файл - в директорию C:/slProject1 , а Excel этого естественно не понимает.

Замечательно что разобрались.


Это первое, и второе - не плохо было бы дать описание работы с драйвером Modbus.

Документацию сейчас подготавливают, думаю вместе с релизом она станет доступна.
Понятно через месяц ,два.

Но с Excel и Вы мне совали примеры с моей-же ошибкой, и это спец по поддержке…., заставили переустановить Офис и саму ОС, хотя все было так просто…
Понятно через месяц ,два.

Я думаю в течении месяца.
Уважаемые модераторы просьба - создайте отдельную папку по MODBUS, где можно будет задавать вопросы.
Вопрос первый.

Сервис поддержки клиентов работает на платформе UserEcho