asp页面中如何直接写入EXCL、WORD

后台数据库中存有EXCL、WORD的BLOB数据
需要直接在ASP页面里写入,并不是显示“下载”
我需要了解哪些部分的知识,或者能否提供有帮助的网页,控件,谢谢
我需要的是将EXCL写入到ASP页面,并不是ASP页面保存EXCL表,也就是说不通过下载的方式,直接将EXCL页面嵌套在网页里 。
2楼的例子我看了,还是一个需要
“打开”才能显示EXCL的例子,我需要的是直接将表格或文档输出在页面的,这个还是利用页面打开。

首先

一、配置方法

1、开始---运行---dcomcnfg

2、组件服务---计算机---我的电脑---dcom配置---microsoft excel应用程序(右键)---属性---安全

3、启动和激活权限 选择自定义,点击编辑,添加用户everyone并给予所有权限

4、访问权限、配置权限同上

二、asp对excel的基本操作

1、建立excel对象

set objexcelapp = createobject("excel.application")
objexcelapp.displayalerts = false '不显示警告
objexcelapp.application.visible = false '不显示界面

2、新建excel文件

objexcelapp.workbooks.add
set objexcelbook = objexcelapp.activeworkbook
set objexcelsheets = objexcelbook.worksheets
set objexcelsheet = objexcelbook.sheets(1)

3、读取已有excel文件

straddr = server.mappath(".")
objexcelapp.workbooks.open(straddr & "\templet\table.xls")
set objexcelbook = objexcelapp.activeworkbook
set objexcelsheets = objexcelbook.worksheets
set objexcelsheet = objexcelbook.sheets(1)

4、另存excel文件

objexcelbook.saveas straddr & "\temp\table.xls"

5、保存excel文件

objexcelbook.save(笔者测试时保存成功,页面报错。)

6、退出excel操作

objexcelapp.quit '一定要退出
set objexcelapp = nothing

第二,asp对word的操作

--------------------------------------------------------------
creatdoc.asp
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<HEAD>
<TITLE>精彩春风之创建Word文件</TITLE>
<META HTTP-EQUIV="Refresh" CONTENT="30;URL='orderForm.asp'">
</HEAD>
<%
dotLocation="'servernamedirectory heTemplate.dot'"
intRowCount = Request.Form("rowCount")
' 初始化行计数
%>
<BODY Language="VBScript" onLoad="creatdoc document.theForm,
<%=dotLocation%>,intRowCount>
<FORM NAME="theForm">
----------------------------------------------------------------------------------------------------------------
在Body标记中对onLoad调用,调用creatdoc VB脚本子程序,向它传递3个参数:页面中表单的内容(所有的隐含域)、Word模板文件的位置、从输入表单中收到的行数.读所有的输入表单域,然后当页面装载后调用creatdoc子程序
<%
itemCount = 0
' 设置域计数器为0
For Each Item in Request.Form
' 总计表格域
itemCount = itemCount + 1
' 使用For..Next 循环
%>
<INPUT TYPE="hidden" NAME="<%=Item%>" VALUE="<%=Request(Item)%>">
<% Next %>
<INPUT TYPE="hidden" NAME="numbRows" VALUE="<%=intRowCount%>">
<INPUT TYPE="hidden" NAME="fieldCount" VALUE="<%=itemCount%>">
</FORM>
</BODY>
</HTML>
----------------------------------------------------------------------------------------------------------------
开始创建一个Word 文件对象. 在Internet Explorer 4以上版本中,要将浏览器的安全性设置为Low或 Custom
<%
Set objWordDoc = CreateObject("Word.Document")
ObjWordDoc.Application.Documents.Add theTemplate, False
ObjWordDoc.Application.Visible=True
%>
----------------------------------------------------------------------------------------------------------------调整数组的维数使它与网页表单所包含的行数相同.将Y轴设为4个常量,这是输出文件中所需要的栏数,X轴包含从表单中接收的行数
<% Redim Preserve theArray(4,intTableRows) %>
----------------------------------------------------------------------------------------------------------------开始检查所有的表单行.在所有输入的网页表单域中循环,收集每个表单域名及其相应的值.逐个检查并将其放入相应的数列元素内.在此,我们使用了不确定编码的CASE选择
<%
For intCount = 0 to frmData.fieldCount.value
strOkay = "Y"
strSearch = frmData.elements(intCount).name
' 装入表单域名
strValue = frmData.elements(intCount).value
' 装入表单域值
strPosition = Instr(1,strSearch,"_")
intStringLen=strPosition-1
If intStrLen > 0 Then
strLeft = Left(strSearch,intStringLen)
strRight = Right(strSearch,(Len(strSearch)-Len(strLeft)-1))
Select Case strLeft
' Select Case命令决定表单域属于哪一列
Case "SKU" intArrayY=0
Case "description" intArrayY=1
Case "price" intArrayY=2
Case "quantity" intArrayY=3
End Select
IntArrayX = strRight
If strOkay <> "N" Then
TheArray(intArrayY, intArrayX) = strValue
End If
End If
Next
%>
---------------------------------------------------------------------------------------------------------------- 开始创建文件
<%
Set rngCurrent = objWordDoc.Application.ActiveDocument.Content
' 对于激活的文件,用变量rngCurrent设置Word文件对象RANGE,这是为了防止用户打开另一个文件
Set tabCurrent = ObjWordDoc.Application.ActiveDocument.Tables.Add
rngCurrent,intNumrows,4)
' 通过指定表格的位置( rngCurrent)以及行、列的数目来确定其大小
%>
----------------------------------------------------------------------------------------------------------------
向往表格里装入数据.
<%
For j = 1 to intTableRows
' 首先指到第一行row(tabRow=1), 逐行循环.在每行结尾处插入回车[Chr(10)],以产生行间空行,使行计数器增加
ObjWordDoc.Application.ActiveDocument.Tables(1).Rows(tabRow).Borders.Enable=False

objWordDoc.Application.ActiveDocument.Tables(1).Rows(tabRow).Cells(1).Range.InsertAfter
theArray(1,j)

objWordDoc.Application.ActiveDocument.Tables(1).Rows(tabRow).Cells(2).Range.InsertAfter
theArray(2,j)

objWordDoc.Application.ActiveDocument.Tables(1).Rows(tabRow).Cells(3).Range.InsertAfter
FormatCurrency(theArray(3,j))
' 用FormatCurrency 输出美圆值以保证使用$符号、逗号、小数点的位置
objWordDoc.Application.ActiveDocument.Tables(1).Rows(tabRow).Cells(4).Range.InsertAfter
theArray(4,j)

objWordDoc.Application.ActiveDocument.Tables(1).Rows(tabRow).Cells(4).Range.InsertAfter
Chr(10)

objWordDoc.Applicatoin.ActiveDocument.Tables(1).Rows(tabRow).Cells(3).
Range.ParagraphFormat.alignment=2
' 在ParagraphFormat. alignment=2处设置栏数来实现美圆数量的正确调整

tabRow = tabRow + 1

Next
%>
----------------------------------------------------------------------------------------------------------------
指定模板位置,结束子程序
<%
objWordDoc.Application.ActiveDocument.Paragraph.Add.Range.
InsertAfter("Thank you for shopping at Acme Co., and please come again!")
objWordDoc.Application.ActiveDocument.Paragraph.Add.Range.InsertAfter(" ")
objWordDoc.Application.ActiveDocument.Paragraph.Add.Range.InsertAfter(" ")
objWordDoc.Application.ActiveDocument.Paragraph.Add.Range.InsertAfter("Regards,")
objWordDoc.Application.ActiveDocument.Paragraph.Add.Range.InsertAfter(" ")
objWordDoc.Application.ActiveDocument.Paragraph.Add.Range.
InsertAfter("Daryl B. Morticum")
objWordDoc.Application.ActiveDocument.Paragraph.Add.Range.
InsertAfter("Sales Associate")
End Sub
%>
----------------------------------------------------------------------------------------------------------------

参考资料:http://hi.baidu.com/maoniu_1/blog/item/4d8b8235ac7880335ab5f5eb.html

温馨提示:内容为网友见解,仅供参考
第1个回答  2009-06-08
这种方式不成。

asp如果要显示必须先把doc和xls输出为web格式。

直接显示没有这个功能。
第2个回答  2009-06-08
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
第3个回答  2009-06-08
ASP具备动态输出任一Office应用程序文件格式的功能。在开始编写代码之前,我们首先需要做的就是设置正确的文件类型,因为浏览器需要知道如何处理文件。第二步是编辑文件名称,我们可以使用HTML和CSS来创建Word文档或Excel文档的样式。

下面这段例子代码可用于在线创建Word文档。

以下是引用片段:
<%
Response.ContentType = "application/msword"
Response.AddHeader "Content-Disposition", "attachment;filename=NAME.doc"???
response.Write("Dotnetindex.com : <a href=""http://www.dotnetindex.com"">Visit Site</a><br>" & vbnewline)
response.Write("<h1>We can use HTML codes for word documents</h1>")
response.Write ("<div style=""padding:4px; font:11px arial"">CSS can be used tooo</span>")
%>

下面这段例子代码可用于在线创建Excel文档。

以下是引用片段:
<%
Response.AddHeader "Content-Disposition", "attachment;filename=members.xls"
Response.ContentType = "application/vnd.ms-excel"
response.write "<table width="100%" border="1" >"
response.write "<tr>"
response.write "<th width=""40%""><b>Name</b></th>"
response.write "<th width=""30%""><b>Username</b></th>"
response.write "<th width=""30%""><b>Password</b></th>"
response.write "</tr>"
response.write "<tr>"
response.write "<td width=""40%"">Scud Block</td>"
response.write "<td width=""30%"">scud@gazatem.com</td>"
response.write "<td width=""30%"">mypassword</td>"
response.write "</tr>"
response.write "</table>"
%>本回答被网友采纳

asp页面中如何直接写入EXCL、WORD
1、建立excel对象 set objexcelapp = createobject("excel.application")objexcelapp.displayalerts = false '不显示警告 objexcelapp.application.visible = false '不显示界面 2、新建excel文件 objexcelapp.workbooks.add set objexcelbook = objexcelapp.activeworkbook set objexcelsheets = objexcelboo...

asp.net做的网页怎么能够直接打开远程的word和excel文件,并且支持在线...
1:你的文件如果是word,excel那么一定要确认访问的用户要装office.建议加上target='_block'.2:你这样做极度危险,太不安全了。建议用vpn连接.3:编码协议建议用https+ftp

ASP如何往WORD中指定位置插入数据
首先ASP读取word内容 然后用正则表达式定位指定的位置,然后插入数据,最后写如word。over

请问谁知道怎么用asp去统计或者得到word或者excel里的文本字... 有...
excel 简单的方法是把excel 当成数据 连接字符串:ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & pathAll & ";Extended Properties=""Excel 8.0; HDR=Yes; IMEX=2"""读取Excel文件的实例 < set xlApp = server.CreateObject("Excel.Application")strsource = server.MapPath...

请问谁知道怎么用asp去统计或者得到word或者excel里的文本字... 会...
网络上的资源很多,直接百度 “APS读取word” 或者 “ASP读取excel” 就有一大把的例子。下面是一个excel的例子:读取Excel文件的实例 < set xlApp = server.CreateObject("Excel.Application")strsource = server.MapPath("xl.xls")set xlbook = xlApp.WorkBooks.Open(strsource)set xlsheet = xl...

在ASP中怎么把页面中的数据导出到EXCEL
'--将表的列名先写入EXCEL myfile.writeline strLine Do while Not rs.EOF strLine=""for each x in rs.Fields strLine = strLine & x.value & chr(9)next '--将表的数据写入EXCEL myfile.writeline strLine rs.MoveNext loop response.Write("下载 ")end if rs.Close set rs = nothing...

asp.net sql数据导入excel word问题
\/\/写入内容 for (int r = 0; r < dt.Rows.Count; r++){ for (int i = 0; i < dt.Columns.Count; i++){ worksheet.Cells[r + 3, i + 1] = dt.Rows[r][i];range = (Excel.Range)worksheet.Cells[r + 3, i + 1];range.Font.Size = 9;\/\/字体大小 \/\/加边框 range....

word中嵌入excel怎么直接打开word文档中怎么嵌入exls表格
1、首先在电脑上打开Excel 2010。2、然后点击“插入”选项卡。3、接着点击插入选项卡下面的“对象”。4、弹出对象窗口后点击“由文件创建”。5、点击“浏览”选择文件。6、然后选择需要插入的文件并点击“插入”。7、然后就查看到文件名是一个地址,所以在传给别人时,别人就打开不开,勾选“显示图标...

word和excel如何同在一个界面word和excell怎么放到同一个页面
1.创建一个Excel网页模板。2.打开Word,并创建一个新文档。3.在Word中打开Excel网页模板,并单击“开始”选项卡上的“在设计”按钮。4.在“设计”选项卡上,选择“在Web中嵌入”,并单击“确定”。5.选择要将链接嵌入到哪个工作表中,并单击“确定”。现在,当在Excel中使用一个公式或工具时,会自动在...

asp页面导出为word并加水印
第一步:请先安装PageOffice的服务器端的安装程序,之后在你的网站中根目录下添加pageoffice文件夹(在PageOffice官方网站的“下载中心”中可下载相应的压缩包,解压之后直接将PageOffice示例代码里的pageoffice文件夹拷贝到根目录下就可以了)。第二步:在网站中创建动态页面AddWaterMark.aspx。在工具箱中拖动一...

相似回答