摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:73422782
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>VC++>VC++编程实例
◎→ 本类最新
利用ASP远程获取内容
利用ASP实现三个强大功能
如何避免asp的SQL的执行效率低
利用ASP技术开发基于WWW的数据库
ASP分页显示详论
Asp中一些FSO方面的函数
VC++中STL的使用
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
VC++编程视频教程下载
VC++编程实例
◎→ 热门资源
如何让图片自动缩放以适合界面大
用ASP生成Chart
中国将成世界新软件中心
如何用ASP编写网站统计系统
用ASP建立网站地图
使用函数自动生成n层目录
ASP中处理数据库图像的方法

将数据库的内容生成WORD文档


日期:2008-10-20 20:01:28    来源:互联网
   
 ·ASP中处理数据库图像的方法 ·用ASP生成Chart
 ·实现关键字查找word文档里相匹配的内容 ·用ASP开发基于浏览器的文档数据库管理软件

毕业设计需要从库里取纪录生成word文档,我找了半天,主要有这么几种方法:
1改头,就是象excel似的
Response.ContentType = "application/vnd.ms-excel" '--excel
Response.ContentType = "application/msword" '--word
excel倒是没事,但word就是总出错。弱!

2。微软的RTF-DOC的例子
  
它的例子倒是很成功,可根据实际需要改起来,不好弄,格式不好控制。

3。调用word.application对象
  在客户端用这种东西Set objWordDoc = CreateObject("Word.Document")来调用word生成,但是要用户改客户端的安全级别设置,不好!格式控制起来也麻烦。我鼓捣了老半天也搞不定。

4。利用FSO生成word文档
  
不敢说原创,只能说是综合大家的东西,搞成了这个东西。本文主要介绍我的这种方法。

  下面主要介绍从数据库中取资料,然后利用FSO生成Word文档的例子,先给出部分代码,最后给出全部代码。

从数据库中读取数据的代码:

<%
'创建RecordSet对象
Set rs = Server.CreateObject("ADODB.Recordset")

'SQL语句根据实际情况调整
sql="select * from People where PeopleId=" & PeopleId

'Open RecordSet,省略了创建及打开connection对象的代码,请自行添加
rs.open sql,conn,3,3

if rs.eof and rs.bof then
    '无记录
else
    '做点事情,主要是从数据库中获取一些资源
    '赋给变量,再用FSO生成
end if
rs.Close
Set rs=Nothing
conn.Close
Set conn = Nothing
%>



用FSO创建word的代码:

<%
  '下面生成文件的代码。
  Dim fso, MyFile
  '创建FSO对象,有些服务器有可能不支持这个对象,那就没戏了
  Set fso = CreateObject("Scripting.FileSystemObject")   
  '文件名
  sFileName = "temp.doc"
  '生成新文件文件放在当前目录的word/下,当前测试时必须有这个目录
  Set MyFile = fso.CreateTextFile(Server.MapPath(".")& "\word\"&sFileName, True)

  myString="这里是你预先排好的word文档,要填的地方都空好了,怎么弄底下告诉!"

 '将MyString作为新文件的内容写入文件
 MyFile.WriteLine(myString)
 
 MyFile.Close  '关闭文件
%>



文件已经生成了。注意在iis里把word目录设置为“写入”。
以下将word文档以数据流写出,不让IE自动打开,防止出错误提示。

让word文档以附件的形式打开的代码:

[Ctrl+A 全部选择 然后拷贝]

发现把attachment去掉,就会用ie直接打开了。不让它直接打开!

以下为从库中取资料并生成Wrod代码:

[Ctrl+A 全部选择 然后拷贝]

注:myString="" 里面到底是什么?
用word做一个你要的格式的文档,都排好了,
把要填的地方做好标记,比如写几个字什么的。
然后“另存为”web页面。本文所说的是文档里没有图片的情况,有的话我也不会。

到你的硬盘里找到这个web页面,打开,查看源文件,ctrl+a,ctrl+c,
在word里,ctrl+N,ctrl+v,ctrl+F,点“替换”标签,
第一步:查找内容填双引号",替换为填两个双引号"",全部替换即可。
第二步:点“高级”,查找内容里填“特殊字符”的“段落标记”,替换为填“特殊字符”的“不间断空格”,全部替换即可。
然后ctrl+a,ctrl+c,把东西paste在myString=""的两个引号之间。
==========================================
这时.asp文件已经可以执行,不过生成的是空word文档,啥也没填,没用。
在myString后面的引号里,找你那些标记,比如姓名一栏你填的是“西瓜”,
那么现在找到“西瓜”两个字,删除,打"&rs("name")&"
包括前后两个引号。以此类推,把所有的地方都用库中的纪录搞定。
========================================
哦,现在就行了。基本满足要求了。
注:几个小问题

1。有时保存你的word文档到web页面时,会生成”你的文件名.files"的文件夹。
那你用这个.asp文件动态生成word文档时,会提示“XXXX丢失”,不爽!
解决办法:在你保存的web页面,查看源文件,查找“你的文件名.files“,
相关的地方都删除掉。一般会有<link...>还有style里的。看着删吧。

2。这个.asp文件执行是会出现下载提示框,如果选“打开”的话,
word就会打开生成的这个文档,我发现有时是以“web视图”打开的,
有时是“页面视图”打开的。很是奇怪,仔细对比了一下,发现:
只要在你的myString里找<w:WordDocument>,在后面加上<w:View>Print</w:View>,那么就会以“页面视图”打开了。好了!

 [1]

SQL Server数据库模糊查询的ASP实现

使用函数自动生成n层目录

在Delphi中使用CreateOleObject方法对WORD文件进行操作

ASP调用WEBSERVICE文档

--->腾讯QQ IP数据库 2007.05.13┊附带IP数据维护工具V1.1┊珊瑚虫精简绿色特别版
--->腾讯QQ IP数据库 2007.05.06┊附带IP数据维护工具V1.1┊珊瑚虫精简绿色特别版
--->QQ IP数据库 2006.6.13 珊瑚虫精简版
--->PocoMaker(魅客)电子杂志生成器 V0.9
--->电子文档处理器 V1.98
Tags:  数据库 生成 WORD 文档
芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们