如何用asp读取Excel文件Word文件下载.docx
《如何用asp读取Excel文件Word文件下载.docx》由会员分享,可在线阅读,更多相关《如何用asp读取Excel文件Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
![如何用asp读取Excel文件Word文件下载.docx](https://file1.bdocx.com/fileroot1/2023-1/14/fb122b7d-8407-46d0-9b2a-46ee9869c785/fb122b7d-8407-46d0-9b2a-46ee9869c7851.gif)
objExcelApp.Quit
一定要退出
setobjExcelApp=nothing
2读取Excel文件的实例
strsource=server.MapPath("
xl.xls"
setxlbook=xlApp.WorkBooks.Open(strsource)
setxlsheet=xlbook.Worksheets
(1)
i=1
response.write"
table>
"
whilexlsheet.cells(i,1)<
>
response.write"
tr>
td>
&
xlsheet.Cells(i,1)&
/td>
xlsheet.Cells(i,2)&
xlsheet.Cells(i,3)&
i=i+1
wend
/table>
setxlsheet=nothing
setxlbook
=nothing
xlApp.quit
'
千万记住要加这一句,否则每运行一次你的机器里就增加一个Excel进程,而且无法释放
setxlApp=nothing是不行的
================================================================
3.怎样将数据从Excel导入到SQLServer中
定义
dimmyConnection
dimstrName
dimrsXsl,rsSql
dimmyConn_Xsl
dimcmd
dimi,j
dimmaxId
strName=strFileName
setmyConnection=Server.CreateObject("
ADODB.Connection"
setrsXsl=Server.CreateObject("
ADODB.Recordset"
setrsSql=Server.CreateObject("
setcmd
=server.CreateObject("
ADODB.Command"
cmd.ActiveConnection=myConn
myConn_Xsl="
Provider=Microsoft.Jet.OLEDB.4.0;
DataSource="
strName&
_
;
ExtendedProperties=Excel8.0"
打开连接
myconnection.openmyConn_Xsl
打开表
str_Xsl="
select*from["
strSheetName&
$]"
rsXsl.openstr_Xsl,myconnection,1,1
j=1
DowhilenotrsXsl.eof
取出最大值
str_sql="
selectMax(id)asmaxIdfromexceltosql"
rsSql.openstr_Sql,myConn,1,3
ifNotrsSql.eofthen
ifnotisNull(rsSql("
maxId"
))then
maxId=CLng(rsSql("
))+1
else
maxId=1
endif
rsSql.close
//关闭对象
加入数据库
str_Sql="
insertintoexceltosqlvalues("
maxId&
'
&
rsXsl
(1)&
rsXsl
(2)&
)"
cmd.CommandText=str_Sql
cmd.Excute()
j=j+1
rsXsl.moveNext
loop
共导入"
j_1&
条记录.<
br>
ahref=#>
关闭窗口<
/a>
setrsXsl=nothing
setrsSql=nothing
setmyconnection=nothing
setcmd=nothing
endsub
(2)
调用方法
file1="
c:
excelexample.xls"
myconn="
DRIVER={SQLSERVER};
SERVER=(local);
uid=sa;
pwd=sa;
DATABASE=aspbook"
dataIntoSqlServer_ceritificatefile1,"
sheet1"
myconn
========================================================
4.ASP操作Excel技术总结
目录
一、
环境配置
二、
ASP对Excel的基本操作
三、
ASP操作Excel生成数据表
四、
ASP操作Excel生成Chart图
五、
服务器端Excel文件浏览、下载、删除方案
六、
附录
正文
服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即:
1.Win9x+PWS+Office
2.Win2000
Professional+PWS+Office
3.Win2000
Server+IIS+Office
目前笔者测试成功的环境是后二者。
★点击设计★www.djasp.Net
专业的网页编程资讯站点,欢迎访问!
此信息随机生成,防止无聊之人盗用点击设计站点上的资源,请关闭该网站然后访问点击设计官方网址:
Office的版本没有特殊要求,考虑到客户机配置的不确定性和下兼容特性,建议服务器端Office版本不要太高,以防止客户机下载后无法正确显示。
服务器端环境配置还有两个偶然的发现是:
1.
笔者开发机器上原来装有金山的WPS2002,结果Excel对象创建始终出现问题,卸载WPS2002后,错误消失。
2.
笔者开发ASP代码喜欢用FrontPage,结果发现如果FrontPage打开(服务器端),对象创建出现不稳定现象,时而成功时而不成功。
扩展考察后发现,Office系列的软件如果在服务器端运行,则Excel对象的创建很难成功。
服务器端还必须要设置的一点是COM组件的操作权限。
在命令行键入“DCOMCNFG”,则进入COM组件配置界面,选择Microsoft
Excel后点击属性按钮,将三个单选项一律选择自定义,编辑中将Everyone加入所有权限。
保存完毕后重新启动服务器。
客户端的环境配置没发现什么特别讲究的地方,只要装有Office和IE即可,版本通用的好象都可以。
1、
建立Excel对象
set
objExcelApp
=
CreateObject("
)
objExcelApp.DisplayAlerts
false
不显示警告
objExcelApp.Application.Visible
不显示界面
2、
新建Excel文件
objExcelApp.WorkBooks.add
objExcelBook
objExcelApp.ActiveWorkBook
objExcelSheets
objExcelBook.Worksheets
objExcelSheet
objExcelBook.Sheets
(1)
3、
读取已有Excel文件
strAddr
Server.MapPath("
objExcelApp.WorkBooks.Open(strAddr
4、
另存Excel文件
objExcelBook.SaveAs
strAddr
TempTable.xls"
5、
保存Excel文件
objExcelBook.Save
(笔者测试时保存成功,页面报错。
此内容系随机生成,谢绝站长们转转,您查看的内容来自★点击设计★www.djasp.Net
点击设计,专业的网页编程资讯站点,欢迎访问!
请记好点击设计的域名:
www.djasp.Net如果您正在浏览此内容,请关闭此网页,然后访问点击设计的官方网址:
6、
退出Excel操作
一定要退出
Nothing
在一个范围内插入数据
objExcelSheet.Range("
B3:
k3"
).Value
Array("
67"
"
87"
5"
9"
7"
45"
54"
10"
在一个单元格内插入数据
objExcelSheet.Cells(3,1).Value="
Internet
Explorer"
选中一个范围
单元格左边画粗线条
单元格右边画粗线条
单元格上边画粗线条
7、
单元格下边画粗线条
8、
单元格设定背景色
9、
合并单元格
10、
插入行
11、
插入列
创建Chart图
objExcelApp.Charts.Add
设定Chart图种类
objExcelApp.ActiveChart.ChartType
97
注:
二维折线图,4;
二维饼图,5;
二维柱形图,51
设定Chart图标题
objExcelApp.ActiveChart.HasTitle
True
objExcelApp.ActiveChart.ChartTitle.Text
A
test
Chart"
通过表格数据设定图形
objExcelApp.ActiveChart.SetSourceData
objExcelSheet.Range("
A1:
k5"
),1
直接设定图形数据(推荐)
objExcelApp.ActiveChart.SeriesCollection.NewSeries
objExcelApp.ActiveChart.SeriesCollection
(1).Name
="
333"
objExcelApp.ActiveChart.SeriesCollection
(1).Values
={1,4,5,6,2}"
绑定Chart图
objExcelApp.ActiveChart.Location
1
显示数据表
objExcelApp.ActiveChart.HasDataTable
显示图例
objExcelApp.ActiveChart.DataTable.ShowLegendKey
浏览的解决方法很多,“Location.href=”,“Navigate”,“Response.Redirect”都可以实现,建议用客户端的方法,原因是给服务器更多的时间生成Excel文件。
下载的实现要麻烦一些。
用网上现成的服务器端下载组件或自己定制开发一个组件是比较好的方案。
另外一种方法是在客户端操作Excel组件,由客户端操作服务器端Excel文件另存至客户端。
这种方法要求客户端开放不安全ActiveX控件的操作权限,考虑到通知每个客户将服务器设置为可信站点的麻烦程度建议还是用第一个方法比较省事。
删除方案由三部分组成:
A:
同一用户生成的Excel文件用同一个文件名,文件名可用用户ID号或SessionID号等可确信不重复字符串组成。
这样新文件生成时自动覆盖上一文件。
B:
在Global.asa文件中设置Session_onEnd事件激发时,删除这个用户的Excel暂存文件。
C:
在Global.asa文件中设置Application_onStart事件激发时,删除暂存目录下的所有文件。
建议目录结构
Src
代码目录
Templet
模板目录
Temp
暂存目录
出错时Excel出现的死进程出现是一件很头疼的事情。
在每个文件前加上“On
Error
Resume
Next”将有助于改善这种情况,因为它会不管文件是否产生错误都坚持执行到“Application.Quit”,保证每次程序执行完不留下死进程。
5.ASP读EXCEL2000的文章!
!
i)将Excel97或Excel2000生成的XLS文件(book)看成一个数据库,其中的每一个工作表(sheet)看成数据库表
ii)ADO假设Excel中的第一行为字段名.所以你定义的范围中必须要包括第一行的内容
iii)Excel中的行标题(即字段名)不能够包含数字.Excel的驱动在遇到这种问题时就会出错的。
例如你的行标题名为“F1”
iiii)如果你的Excel电子表格中某一列同时包含了文本和数字的话,那么Excel的ODBC驱动将不能够正常,处理这一行的数据类型,你必须要保证该列的数据类型一致
DimConn,Driver,DBPath,Rs
建立Connection对象
SetConn=Server.CreateObject("
Driver="
Driver={MicrosoftExcelDriver(*.xls)};
DBPath="
DBQ="
Server.MapPath("
test.xls"
)
调用Open方法打开数据库
Conn.OpenDriver&
DBPath
DSN连接方式
Conn.Open"
Dsn=test"
注意表名一定要以下边这种格试"
[表名$]"
书写
Sql="
Select*From[Sheet1$]where序号=0"
SetRs=Conn.Execute(Sql)
IFRs.EofAndRs.BofThen
Response.write"
没有找到您需要的数据!
!
Else
DoWhileNotRs.EOF
Response.writeRs("
姓名"
Rs.MoveNext
Loop
EndIF
Rs.Close
SetRs=nothing
Conn.Close
SetConn=Nothing
Response.Write"
成功!
6.ASP与电子表格EXCEL的交互操作
HerewegoagainwithanothersampleforExcel,thistimewewillbeusingASPtocreateachart.Youall
askedmeforit,nowhereisthesolution.Thanksagainforallyournicecomments:
Firstwesetthetypeofscript
%@LANGUAGE="
VBSCRIPT"
%>
Maketheobject,andsettheobjecttoanExcelsheet
DimMyExcelChart
SetMyExcelChart=CreateObject("
Excel.Sheet"
Nowletswritetherestofthescript,seethecomments
showordontshowexceltouser,TRUEorFALSE
MyExcelChart.Application.Visible=True
populatethecells
MyExcelChart.ActiveSheet.Range("
B2:
k2"
).Value=Array
("
Week1"
Week2"
Week3"
Week4"
Week5"
Week6"
Week7"
Week8"
Week9"
Week10"
B4:
k4"
8"
27"
33"
37"
50"
B5:
23"
3"
86"
64"
60"
18"
1"
36"
80"
MyExcelChart.ActiveSheet.Cells(3,1)