有谁作过用asp生成word文档?
为什么我按csdn文档中心及专题中的的文章所提到的作法去作,总是出错。现贴出我的代码,请大家一同看一下应该怎么改呀!
set rs=server.createobject("adodb.recordset")
sql="select question,answer1,answer2,answer3,answer4 from question where Score=1"
rs.open sql,conn,1,1
if rs.eof then
response.write "ERR"
else
Assay=Rs.GetRows
column=rs.recordcount'取得结果的条数
row=4'设定要显示的列数
rs.close
set rs=nothing
set wdApp = server.CreateObject("Word.Application")
'////////////下一行报错:无法打开存储宏!
wdApp.Application.Documents.Add server.mappath("test.doc"), False
wdApp.Application.ActiveDocument.Paragraphs.Add.Range.InsertBefore("测试表")
wdApp.Application.ActiveDocument.Paragraphs.Add.Range.InsertBefore("")
Set rngPara = wdApp.Application.ActiveDocument.Paragraphs(1).Range
With rngPara
.Bold = True '//将标题设为粗体
.ParagraphFormat.Alignment = 1 '//将标题居中
.Font.Name = "Arial" '//设定标题字体
.Font.Size = 12 '//设定标题字体大小
End With
Set rngCurrent = wdApp.Application.ActiveDocument.Paragraphs(3).Range
Set tabCurrent = wdApp.Application.ActiveDocument.Tables.Add(rngCurrent,row,column)
'//以下两层for循环输出表格实际内容
For i =0 to column-1
For j = 0 to row-1
wdApp.Application.ActiveDocument.Tables(1).Rows(j).Cells(i).Range.InsertAfter Assay(i,j)
wdApp.Application.ActiveDocument.Tables(1).Rows(j).Cells(i).Range.ParagraphFormat.alignment=1
Next
Next
wdApp.Application.ActiveDocument.Paragraph.Add.Range.InsertAfter("Thank you for shopping at Acme Co., and please come again!")
wdApp.Application.ActiveDocument.Paragraph.Add.Range.InsertAfter(" ")
wdApp.Application.ActiveDocument.Paragraph.Add.Range.InsertAfter(" ")
wdApp.Application.ActiveDocument.Paragraph.Add.Range.InsertAfter("Regards,")
wdApp.Application.ActiveDocument.Paragraph.Add.Range.InsertAfter(" ")
wdApp.Application.ActiveDocument.Paragraph.Add.Range.InsertAfter("Daryl B. Morticum")
wdApp.Application.ActiveDocument.Paragraph.Add.Range.InsertAfter("Sales Associate")
wdApp.Application.ActiveDocument.SaveAs
set wdApp=nothing
end if
同时我发现用这个方法来作的时候,对系统的内存造成极大的伤害,我才运行了几次,系统的内存一下就耗光了。用各种手段都没有办法杀掉word.exe这个进程!
问题点数:100、回复次数:13Top
1 楼lucong(鲁葱)回复于 2003-03-09 03:59:12 得分 15
建议你生成RTF文件。RTF文件也可以用Word打开。
Top
2 楼chinahuman(铁匠)回复于 2003-03-09 09:15:53 得分 0
那应该怎么作呢?还有RTF文件对一些表格和样式的控制怎么样?在打印的过程中会不会出现偏差??Top
3 楼net_lover(【孟子E章】)回复于 2003-03-09 09:48:08 得分 10
http://www.csdn.net/Subject/15/index.shtmTop
4 楼sunny518(灵犀)回复于 2003-03-09 10:06:56 得分 15
555~~~~~~我的错误也是这样Top
5 楼fason(咖啡人生)回复于 2003-03-09 11:02:18 得分 15
http://expert.csdn.net/Expert/topic/446/446736.xml?temp=.2713282Top
6 楼chinahuman(铁匠)回复于 2003-03-09 14:25:43 得分 0
csdn的这几个文章我都看过了,没有一个能实现的。我要的是在服务器端生成,不是在把数据放到客户端来生成!也不是那种用很长的那个代码生成像word的东西。要实现的是那种用word.application 或word.document的方法来生成的Top
7 楼chinahuman(铁匠)回复于 2003-03-11 17:41:11 得分 0
顶一下,没有人来解决吗?Top
8 楼net_lover(【孟子E章】)回复于 2003-03-11 17:49:44 得分 15
http://www.codeproject.com/useritems/wordform.aspTop
9 楼net_lover(【孟子E章】)回复于 2003-03-11 17:52:57 得分 15
http://www.codeave.com/asp/code.asp?u_log=142Top
10 楼chinahuman(铁匠)回复于 2003-03-12 18:19:26 得分 0
这两篇文章全是用在服务器生成一个html文件,然后骗客户端是word文档。这样子作会不会不好呀??Top
11 楼lucong(鲁葱)回复于 2003-03-13 00:15:34 得分 15
先用word创建文档,然后存为RTF。
用文本编辑器打开此文件,找到需要替换的地方,设置相应的标记。
然后,就可以在asp中读入你的RTF,替换相应数据,再另存为另一个RTF文件供用户下载。Top
12 楼chinahuman(铁匠)回复于 2003-03-13 21:20:36 得分 0
看来说来说去都是这种方法了:(
有没有更高一些的方法呀??Top
13 楼chinahuman(铁匠)回复于 2003-03-19 16:26:45 得分 0
up 一下Top





