<script language="javascript" src="/js/content_top.js" type="text/javascript"></script>

毕业设计需要:从库里取纪录生成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 = 1

strFilePath = "word/temp.doc"

Set objStream = Server.CreateObject("ADODB.Stream")objStream.OpenobjStream.Type = adTypeBinaryobjStream.LoadFromFile Server.MapPath(strFilePath) 'change the path if necessary

Response.ContentType = "application/octet-stream"

Response.AddHeader "Content-Disposition", "attachment; filename=化工学院教职工数据采集表--"&rs("name")&".doc"'如果文件名固定,那就直接filename=文件名.doc,这个名字就是用户选“保存”时,出现的名字Response.BinaryWrite objStream.ReadResponse.Flush

objStream.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>,那么就会以“页面视图”打开了。好!

我鼓捣的数据库数据生成word文档的方法!相关推荐

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

    从库里取纪录生成word文档. 主要有这么几种方法: 1.改头,就是象excel似的 Response.Buffer = TRUE Response.ContentType = "appli ...

  2. java如何根据模板填充数据生成word文档

    java根据模板填充数据生成word文档 这篇文章干什么? 思路总览 1.准备word模板 2.转换文件格式 3.编写代码 补充--下载流 这篇文章干什么?   使用代码将word模板内容进行替换,并 ...

  3. php 2003生成word,使用PHPWord生成word文档的方法详解

    使用PHPWord生成word文档的方法详解 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  使用PHPWord生成word文档的方法详解.txt ] (友情提示 ...

  4. php导出doc文件_PHP生成Word文档的方法

    PHP生成Word文档的方法 首先,请确保在你的Windows系统中已经安装并配置好了一个典型的WAMP环境.由于Interop纯粹是一个Windows的特性,我们将在Windows平台下搭建Apac ...

  5. php生成 word,使用PHPWord生成word文档的方法详解

    本文实例讲述了使用PHPWord生成word文档的方法.分享给大家供大家参考,具体如下: 有时我们需要把网页内容保存为Word文档格式,以供其他人员查看和编辑.PHPWord是一个用纯PHP编写的库, ...

  6. php生成word设置纸张,PHP生成Word文档的方法

    首先,请确保在你的Windows系统中已经安装并配置好了一个典型的WAMP环境.由于Interop纯粹是一个Windows的特性,我们将在Windows平台下搭建Apache和PHP,下面,小编为大家 ...

  7. java 将数据生成word文档,并实现打勾选择框

    1.建立word文档模板 2.word模板建立好之后放到指定路径下,这里放到D盘根目录测试 3.{{}}这两个中括号里面的标签就是java中需要注入的变量 4.java代码 public static ...

  8. 导出mysql数据库表生成word文档

    前段时间产品突然提了个需求,要求写出项目组的所有表的文档,由于数据库里面表非常多,手写肯定不行,而且容易出错,就做了个项目,以后导数据库文档,直接就可以用了. 项目结构是springboot+myba ...

  9. 数据库数据导入word文档

    第一步:打开word,设计表格,另存为另一种格式的word也就是.xml的格式 第二步:把文档需要更改的数据替换成${字段名} 并且把修改后的文档修改后缀名.ftl,放入到eclipse的根目录下建一 ...

最新文章

  1. 框架:初识Spring
  2. 机器学习:林智仁libsvm 工具箱 在matlab下的应用总结
  3. linux禁止线程网络,linux – 如何在gdb中禁用新线程/线程退出的消息?
  4. conda 指定版本python_conda Pyhon版本切换
  5. 笔记-知识产权与标准化知识-GB/T-12504-1990计算机软件质量保证计划规范
  6. AI基础:Numpy简易入门
  7. isis simple 运行Maven是报错: No goals have been specified for this build.
  8. 我做 Fiori 开发经常使用的几个系统,不同的 SAP UI5 版本
  9. Net EF to MySQL生成edmx文件时报错:StrongTypingException:表“TableDetails中列“IsPrimaryKey的值为DBNull...
  10. 电商美工忙不停,年货节海报素材模板,拯救电商汪
  11. Qt4_在次线程中使用Qt的类
  12. Java中文汉字转汉语拼音
  13. Pandownload 下线了,我花了 30 分钟自己搭建了一个网盘...
  14. 量子物理与计算机,量子计算机与量子物理
  15. Bresenham画圆 正负画圆法 中点画圆法
  16. 华为P30和IphoneX性能比较
  17. Segmentation Fault 错误原因总结及解决方法
  18. 使用puppeteer启动并最大化显示Chrome浏览器
  19. Converged Multimedia Networks
  20. 手机开发实战99——MMS介绍6

热门文章

  1. linux时间戳转换c语言,Unix时间戳和北京时间的相互转换(C语言实现 )
  2. 自研3D渲染引擎 置身游戏世界般的3D大屏体验 还不快来看看
  3. H5页面 直接拨打手机电话
  4. 超好用的5个短视频素材网站,再也不用为素材发愁
  5. ik分词器的热词更新_ik与拼音分词器,拓展热词/停止词库
  6. android平板电脑手写笔应用,安卓平板势微,华为M5能否救场?也支持手写笔,与新iPad比如何?...
  7. linux 零拷贝goodlen,linux零拷贝技术
  8. ODBC读写创建excel表格
  9. Python数据分析与展示:pandas库统计分析函数-13
  10. 视觉信息应用技术 课程总结(实验分析过程,单双刺激法,T、F检验法)