Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.03;
Скачать: CL | DM;

Вниз

поле таблицы БД сохранен файл Excel можно ли открыть его...   Найти похожие ветки 

 
antoniz   (2003-06-21 08:30) [0]

поле таблицы БД сохранен файл Excel можно ли открыть его в MS Excel без использования временного файла (предварительно не выгружая значение поля в файл). Т.е. требуется загрузить ис потока. Поле типа Blob. Мне тут подсказали, что нужно через IPersistStream копать. Но не знаю как это сделать. Просто я когда у екселя запрашиваю этот интерфейс, он возвращает, что якобы такой интерфейс не поддерживает. Может кто пример даст или ссылку на статейку какую подскажет.


 
Семен Сорокин ©   (2003-06-21 09:55) [1]

Может это поможет:

function SaveFileFromBase(AId:integer; APath: string):boolean;
var
_bs : TStream;
_fs : TFileStream;
begin
Result := false;
with TADOQuery.Create(nil) do
try
SQL.Add("SELECT * FROM paterns WHERE id=:id");
Parameters.ParamByName("id").Value := AId;
Open;
if not Eof then begin
_bs := CreateBlobStream(FieldByName("File"), bmRead);
_fs := TFileStream.Create(ExcludeTrailingPathDelimiter(APath) + "\" + FieldByName("filename").AsString, fmCreate);
_fs.CopyFrom(_bs, 0)
end;
Result := true
finally
Close;
Free;
if _bs <> nil then
_bs.Free;
if _fs <> nil then
_fs.Free
end
end;


 
antoniz   (2003-06-21 10:09) [2]

Я же написал что мне временный файл не нужен, через него легко это сделать. Мне нужно из потока загрузить для этого есть IPersistStream, но только я не знаю как его с ёкселем связать. На QueryInterface вызов отрицательный, но знающие люди говорят, что данный интенрфейс ёкселем поддерживается.



Страницы: 1 вся ветка

Текущий архив: 2003.07.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
14-7602
Aga
2003-06-18 00:10
2003.07.03
Opera 7


3-7325
alextov
2003-06-09 11:02
2003.07.03
Как можно распечатать-сохранить-считать DesigionGrid?


3-7319
Птиц
2003-06-09 18:48
2003.07.03
редактирование DBGrid


11-7375
LF
2002-10-24 22:25
2003.07.03
combobox на форме дает runtime error


14-7607
Cobalt
2003-06-09 17:51
2003.07.03
Кстати о сессии...