数据库数据生成word文档的方法

原创 2004年08月07日 10:52:00

从库里取纪录生成word文档。
主要有这么几种方法:
1。改头,就是象excel似的
Response.Buffer = TRUE
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。就是本文介绍的方法,但我只找到了思想,还是介绍生成excel的思想,例子的没有。
郁闷至极,试验多次,终于有了本文的方法和例子。不敢说原创,只能说是综合大家的东西,搞成了这个东西。

废话少说,看例子吧。

我这例子是生成教师个人资料的word文档。
=============================
'这里写你的数据库连接Response.Buffer = True '这个好像得留着PeopleId=request("PeopleId")Set rs = Server.CreateObject("ADODB.Recordset")sql="select * from People where PeopleId=" & PeopleIdrs.open sql,conn,3,3  if rs.eof and rs.bof then    做点事情end if
===========================================
上面是把教师的资料取出来,换成你的东西。
下面生成文件。
===============================
Dim fso, MyFile   Set fso = CreateObject("Scripting.FileSystemObject")  '用到fso   sFileName = "temp.doc"  Set MyFile = fso.CreateTextFile(Server.MapPath(".") & "/word/"&sFileName, True) '文件放在当前目录的word/下myString="这里是你预先排好的word文档,要填的地方都空好了,怎么弄底下告诉!"MyFile.WriteLine(myString)MyFile.Close  '关闭文件
===================================
文件已经生成了。注意在iis里把word目录设置为“写入”。
以下将word文档以数据流写出,不让IE自动打开,防止出错误提示。
==================================
Dim strFilePathConst adTypeBinary = 1strFilePath = "word/temp.doc"Set objStream = Server.CreateObject("ADODB.Stream")objStream.OpenobjStream.Type = adTypeBinaryobjStream.LoadFromFile Server.MapPath(strFilePath) 'change the path if necessaryResponse.ContentType = "application/octet-stream"Response.AddHeader "Content-Disposition", "attachment; filename=化工学院教职工数据采集表--"&rs("name")&".doc"'如果文件名固定,那就直接filename=文件名.doc,这个名字就是用户选“保存”时,出现的名字Response.BinaryWrite objStream.ReadResponse.FlushobjStream.CloseSet objStream = Nothing  '写完,释放对象
===============================
上面是让word文档以附件的形式打开,当然没错误了。
发现把attachment去掉,就会用ie直接打开了。不让它直接打!
=======================
rs.closeset rs=nothingconn.closeset conn=nothing
====================
关闭释放数据库连接。
=================================
注: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、数据库说明文档与实际数据库的结构同步时。 2、根据现有数据库结构生成其说明文档时。   我平时...
  • yeisman
  • yeisman
  • 2014-05-05 17:58:38
  • 1558

基于数据库的自动化生成工具,自动生成JavaBean、自动生成数据库文档等(v5.0.0版)

基于数据库的自动化生成工具,根据数据库表结构自动生成JavaBean、自动生成MyBaits的Mapper映射配置文件、自动生成数据库设计文档、自动生成各种SQL等。支持MySQL、Oracle、SQ...
  • vipbooks
  • vipbooks
  • 2017-05-31 12:59:58
  • 2359

我鼓捣的数据库数据生成word文档的方法!

毕业设计需要:从库里取纪录生成word文档。我找了半天,主要有这么几种方法:1。...
  • Apollo_pl
  • Apollo_pl
  • 2006-05-02 20:46:00
  • 851

程序实现数据库生成word文档

  • 2017年06月07日 11:09
  • 2.62MB
  • 下载

数据库数据生成word文档的方法

来自:萧萧小雨 毕业设计需要:从库里取纪录生成word文档。 我找了半天,主要有这么几种方法: 1。改头,就是象excel似的 Response.Buffer = TRUE Res...
  • smeyou
  • smeyou
  • 2012-02-22 17:32:08
  • 1595

使用Navicat快速生成数据库字典

多互联网创业型公司前期都不太规范,新人来了,没有太多的设计文档、需求文档,也没有ER图、数据字典这些东西。所以,熟悉业务需要不少时间,很多简单的问题(如数据表中状态值的含义)不得不问老员工,因为没有注...
  • maquealone
  • maquealone
  • 2017-03-07 14:46:48
  • 5569

自动生成数据库表设计(三)之制作word模版

最近项目快了验收,那么接下来就是写一些比较烦人的文档,在写数据库设计文档时,到了详细设计这一块有点尴尬了,每张表,没个字段都要写上去,由于前期没有整理,所以这个工作量还是很大,我查看了我们的数据库发现...
  • u010435203
  • u010435203
  • 2017-02-21 15:07:14
  • 1956

实现动态数据生成Word文档并保存

最近在做人事系统,遇到了一个信函打印的的问题。需求是:给一个现成格式的Word模板,在模板中写入你要写的信息,然后保存。网上的方法大多数都是从一个GridView或表中获得数据后向Word中添加一个表...
  • lu930124
  • lu930124
  • 2015-09-18 13:19:14
  • 3199

java实现把数据库数据导出成word文件实现文件下载功能

一 html代码:(注必须用标签) class="btn btn-success"  target="_parent" style="margin-top: 5px;">下载报告      截...
  • Alice_qixin
  • Alice_qixin
  • 2017-05-09 16:33:18
  • 2372

SQL SERVER自动导出Word数据库文档

  • 2012年04月17日 16:53
  • 3.33MB
  • 下载
收藏助手
不良信息举报
您举报文章:数据库数据生成word文档的方法
举报原因:
原因补充:

(最多只允许输入30个字)