起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 489|回复: 10

【结贴】数据类型为二进制流,表现类型为RTF的字段导出EXCEL的问题**

[复制链接]
发表于 2008-10-15 09:21:21 | 显示全部楼层 |阅读模式
数据类型为二进制流,表现类型为RTF的字段导出EXCEL显示多余的文字,应该如何解决?
例如:{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}}
\viewkind4\uc1\pard\lang2052\f0\fs20 JHX0821SSHHP160\fs22\par
}
其实在GRID中显示的只是 JHX0821SSHHP160
说明:版本 3012, 这个JHX0821SSHHP160是通过在字段上点右键-打开-在打开的RTF中输入的
回复

使用道具 举报

发表于 2008-10-15 09:51:39 | 显示全部楼层
这个不是多于的文字,是rtf的格式描述字符。rtf表现类型不能自己转成txt格式导出。楼主可以把类型改成文本类型,或者这个字段自己控制导出。看例子。
回复 支持 反对

使用道具 举报

发表于 2008-10-15 09:53:03 | 显示全部楼层
1

导出工作记录.part1.rar

1 MB, 下载次数: 88

回复 支持 反对

使用道具 举报

发表于 2008-10-15 09:53:26 | 显示全部楼层
2

导出工作记录.part2.rar

1 MB, 下载次数: 84

回复 支持 反对

使用道具 举报

发表于 2008-10-15 09:53:41 | 显示全部楼层
3

导出工作记录.part3.rar

765.38 KB, 下载次数: 78

回复 支持 反对

使用道具 举报

发表于 2008-10-15 10:07:30 | 显示全部楼层
资源的表格文档需要重新编辑下,不能直接运行。
看看代码,楼主应该就明白了。这个是针对平台的工作记录导出做的。
其中内容这个字段是rtf的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-15 10:13:08 | 显示全部楼层
PART3下了1%不动了。。。好了,刚下完,看看再说
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-15 13:36:32 | 显示全部楼层
我看了一下,你们里面好像是把Query1的数据处理到Query2中去是吧,Query1中带有RTX描述字段,你在处理时做了转换,是这样吧?
代码如下:
query1.Execute;
query2.Close;
query2.Open;
DataSetBroker1.dataset.First;
  while not DataSetBroker1.dataset.eof do
  begin
      TBlobFIELD(DataSetBroker1.dataset.FieldbyName('FPostDetail')).SaveToFile('c:\a.rtf');
      RichEdit1.Lines.LoadFromFile('c:\a.rtf');
      RichEdit1.PlainText:=True;
      RichEdit1.Lines.SaveToFile('c:\a.txt');
      memo1.Lines.LoadFromFile('c:\a.txt');
      RichEdit1.PlainText:=false;
      Query2.Append;
      Query2.FieldByName('id').AsString :=DataSetBroker1.dataset.FieldbyName('fid').asstring;
      Query2.FieldByName('nr').AsString:=memo1.Lines.Text;
      memo1.Lines.Clear;
      RichEdit1.Lines.Clear;
      DataSetBroker1.dataset.next;
  end;
  Query2.ApplyUpdates;
  dialogs.ShowMessage('处理完毕!');
回复 支持 反对

使用道具 举报

发表于 2008-10-15 14:13:06 | 显示全部楼层
只是处理了rtf的字段,其他的导出的时候,用sql语句关联的。
看打印数据集的sql:
SELECT TBUSINESSDATA.FID, TBUSINESSDATA.FPOSTERNAME, TBUSINESSDATA.FTOPIC, TBUSINESSDATA.FBEGINDATE, TBUSINESSDATA.FENDDATE, GZJLLSB.NR
  FROM TBUSINESSDATA, GZJLLSB
  WHERE TBUSINESSDATA.FID = GZJLLSB.id
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-15 17:05:19 | 显示全部楼层
嗯。。等我改好过来结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-24 04:35 , Processed in 0.045980 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表