Работа с данными файла Excel в паскале

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Работа с данными файла Excel в паскале

Re: Работа с данными файла Excel в паскале

somewhere » 05 мар 2007, 09:35

&quot писал(а):К файлу эксэля, да и вообще, к большинству файлов обращаются как к типу text.
Скорее, как к бинарному. Изучаем форматы и структуры объектных файлов MSOffice. Не факт, что это именно то, что мы ищем.

Re: Работа с данными файла Excel в паскале

Колядин Максим » 04 мар 2007, 00:26

VoRoNiCh писал(а):как через паскаль обратиться содержимому файла эксэля, и проводить какие то расчеты.
К файлу эксэля, да и вообще, к большинству файлов обращаются как к типу text.

Код: Выделить всё

uses crt]
Открой лист Excel'я блокнотом, и посмотри с какого столбца и с какой строки начинается определённое значение. Например, у меня параметр A1 со 161-го символа на 4-той строке, чтобы изменить его нужно:
[code]
{S2-изменяемое значение}
uses crt;
var excel,before,after: text;
s,s2: string;
i: integer;
pos: longint;
begin
clrscr;
write('A1 = '); readln(s2);
write('Подожди..');
pos:=(1024*4)+161;
assign(before, '1.txt'); rewrite(before);
assign(excel, 'excel.xls'); reset(excel);
for i:= 1 to pos do begin
read(excel,s);
write(before,s);
end;
close(before);
assign(after,'2.txt'); rewrite(after);
for i:= (pos+5) to (32767) do                  {Длинна предидущего значения}
while not eof(excel) do begin                      {А1 была равна 5 (пяти)            }
read(excel,s);
write(after,s);
end;
close(after);
close(excel);
assign(excel, 'excel.xls'); rewrite(excel);
assign(before,'1.txt'); reset(before);
while not eof(before) do begin
read(before,s);
write(excel,s);
end;
close(before);
write(excel,s2);
assign(after, '2.txt'); reset(after);
while not eof(after) do begin
read(after,s);
write(excel,s);
end;
close(excel);
gotoxy(1,2);
write('Выполнено успешно!');
readkey;
end.
Это один из вариантов, вроде должен работать. Но у тебя могут возникнуть проблемы при изменении Excel документа...

Работа с данными файла Excel в паскале

VoRoNiCh » 03 мар 2007, 18:01

задача такая: в эксэле дано сколько то значений Х и столько же значени У расчитанные по какой-то функции что нам не известна. Вводим число (значение Х0), паскаль обращается к эксэлю и находит между какими значениями Х оно стоит, используя эти значения мы находим значени У0 по каким то трем формулам, тоесть будет 3 найденных значения У0. к сожаления я пока их не знаю, напишу позже. Для меня пока главная задача как через паскаль обратиться содержимому файла эксэля, и проводить какие то расчеты.

Вернуться к началу