关于操作OLEContainer中的word文档的简单问题(100分)

  • 主题发起人 主题发起人 fenghai4690
  • 开始时间 开始时间
F

fenghai4690

Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现这样一个功能,用OLEcontainer提供给用户一个编辑的环境(用户在里面建立表格,表格中有文字,图片),然后我需要提取其中的各个单元格的内容存到数据库里去。
如果olecontainer不能实现的话,这个功能应该用什么方法去实现?
另我用如下代码从数据库中读取blob字段的内容老是报“Invalid stream format”为什么?
var
MeStream: TmemoryStream;
st: TStream;
begin
mestream := tmemorystream.Create;
with simpledataset1 do
begin
dataset.CommandText:= 'select tigan from test1 where id=101';
dataset.Active := true;
st := dataset.CreateBlobStream(dataset.fieldbyname('tigan'),bmread);
mestream.CopyFrom(st,st.Size);
mestream.Position := 0;
olecontainer1.LoadFromStream(mestream);
olecontainer1.DoVerb(1);
st.Free;
mestream.Free;
谢谢各位大虾!!!
 
我也遇到相同问题,关注中……
 
>>用OLEcontainer提供给用户一个编辑的环境

提供EXCEL表格环境?有文字也有图片.建议干脆将整个OLEcontainer里的Excel表保存为流,再存入数据库.不过,用OLEcontainer速度有点慢.
 
olecontainer.LoadFromStream(Stream: TStream);
中的Stream是olecontainer特定格式的Stream,不是一般的数据流。
不知道你保存在BLOB字段的是什么格式数据?
 
我是这样保存的
mestream:=tmemorystream.Create;
mestream.LoadFromFile('g:/test.html');
simpledataset1.dataset.Active:=false;
simpledataset1.DataSet.CommandText:='insert into test1 values(104,''name1'',:tigan)';
simpledataset1.DataSet.Params.ParamByName('tigan').LoadFromStream(mestream,ftblob);
simpledataset1.Execute;
 
后退
顶部