我鼓捣的数据库数据生成word文档的方法!
<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文档的方法!相关推荐
- 数据库数据生成word文档的方法
从库里取纪录生成word文档. 主要有这么几种方法: 1.改头,就是象excel似的 Response.Buffer = TRUE Response.ContentType = "appli ...
- java如何根据模板填充数据生成word文档
java根据模板填充数据生成word文档 这篇文章干什么? 思路总览 1.准备word模板 2.转换文件格式 3.编写代码 补充--下载流 这篇文章干什么? 使用代码将word模板内容进行替换,并 ...
- php 2003生成word,使用PHPWord生成word文档的方法详解
使用PHPWord生成word文档的方法详解 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: 使用PHPWord生成word文档的方法详解.txt ] (友情提示 ...
- php导出doc文件_PHP生成Word文档的方法
PHP生成Word文档的方法 首先,请确保在你的Windows系统中已经安装并配置好了一个典型的WAMP环境.由于Interop纯粹是一个Windows的特性,我们将在Windows平台下搭建Apac ...
- php生成 word,使用PHPWord生成word文档的方法详解
本文实例讲述了使用PHPWord生成word文档的方法.分享给大家供大家参考,具体如下: 有时我们需要把网页内容保存为Word文档格式,以供其他人员查看和编辑.PHPWord是一个用纯PHP编写的库, ...
- php生成word设置纸张,PHP生成Word文档的方法
首先,请确保在你的Windows系统中已经安装并配置好了一个典型的WAMP环境.由于Interop纯粹是一个Windows的特性,我们将在Windows平台下搭建Apache和PHP,下面,小编为大家 ...
- java 将数据生成word文档,并实现打勾选择框
1.建立word文档模板 2.word模板建立好之后放到指定路径下,这里放到D盘根目录测试 3.{{}}这两个中括号里面的标签就是java中需要注入的变量 4.java代码 public static ...
- 导出mysql数据库表生成word文档
前段时间产品突然提了个需求,要求写出项目组的所有表的文档,由于数据库里面表非常多,手写肯定不行,而且容易出错,就做了个项目,以后导数据库文档,直接就可以用了. 项目结构是springboot+myba ...
- 数据库数据导入word文档
第一步:打开word,设计表格,另存为另一种格式的word也就是.xml的格式 第二步:把文档需要更改的数据替换成${字段名} 并且把修改后的文档修改后缀名.ftl,放入到eclipse的根目录下建一 ...
最新文章
- 框架:初识Spring
- 机器学习:林智仁libsvm 工具箱 在matlab下的应用总结
- linux禁止线程网络,linux – 如何在gdb中禁用新线程/线程退出的消息?
- conda 指定版本python_conda Pyhon版本切换
- 笔记-知识产权与标准化知识-GB/T-12504-1990计算机软件质量保证计划规范
- AI基础:Numpy简易入门
- isis simple 运行Maven是报错: No goals have been specified for this build.
- 我做 Fiori 开发经常使用的几个系统,不同的 SAP UI5 版本
- Net EF to MySQL生成edmx文件时报错:StrongTypingException:表“TableDetails中列“IsPrimaryKey的值为DBNull...
- 电商美工忙不停,年货节海报素材模板,拯救电商汪
- Qt4_在次线程中使用Qt的类
- Java中文汉字转汉语拼音
- Pandownload 下线了,我花了 30 分钟自己搭建了一个网盘...
- 量子物理与计算机,量子计算机与量子物理
- Bresenham画圆 正负画圆法 中点画圆法
- 华为P30和IphoneX性能比较
- Segmentation Fault 错误原因总结及解决方法
- 使用puppeteer启动并最大化显示Chrome浏览器
- Converged Multimedia Networks
- 手机开发实战99——MMS介绍6
热门文章
- linux时间戳转换c语言,Unix时间戳和北京时间的相互转换(C语言实现 )
- 自研3D渲染引擎 置身游戏世界般的3D大屏体验 还不快来看看
- H5页面 直接拨打手机电话
- 超好用的5个短视频素材网站,再也不用为素材发愁
- ik分词器的热词更新_ik与拼音分词器,拓展热词/停止词库
- android平板电脑手写笔应用,安卓平板势微,华为M5能否救场?也支持手写笔,与新iPad比如何?...
- linux 零拷贝goodlen,linux零拷贝技术
- ODBC读写创建excel表格
- Python数据分析与展示:pandas库统计分析函数-13
- 视觉信息应用技术 课程总结(实验分析过程,单双刺激法,T、F检验法)