如何用asp读取Excel文件.docx

上传人:b****5 文档编号:7027341 上传时间:2023-01-16 格式:DOCX 页数:17 大小:23.43KB
下载 相关 举报
如何用asp读取Excel文件.docx_第1页
第1页 / 共17页
如何用asp读取Excel文件.docx_第2页
第2页 / 共17页
如何用asp读取Excel文件.docx_第3页
第3页 / 共17页
如何用asp读取Excel文件.docx_第4页
第4页 / 共17页
如何用asp读取Excel文件.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

如何用asp读取Excel文件.docx

《如何用asp读取Excel文件.docx》由会员分享,可在线阅读,更多相关《如何用asp读取Excel文件.docx(17页珍藏版)》请在冰豆网上搜索。

如何用asp读取Excel文件.docx

如何用asp读取Excel文件

1.ASP对Excel的基本操作

(1)建立Excel对象

   创建Excel对象可以通过下面的代码来实现:

<%

setobjExcelApp=CreateObject("Excel.Application")

objExcelApp.DisplayAlerts=false               '不显示警告

objExcelApp.Application  =false               '不显示界面

%>

(2)新建Excel文件

   新建Excel文件可以通过以下代码来实现:

<%

objExcelApp.WorkBooks.add

setobjExcelBook  =objExcelApp.ActiveWorkBook

setobjExcelSheets=objExcelBook.Worksheets

setobjExcelSheet  =objExcelBook.Sheets

(1)

%>

(3)读取已有的Excel文件

   读取已有的Excel文件可以通过下面的代码来实现      

<%

strAddr=Server.MapPath(".")

objExcelApp.WorkBooks.Open(strAddr&"TempletTable.xls")

setobjExcelBook  =objExcelApp.ActiveWorkBook

setobjExcelSheets=objExcelBook.Worksheets

setobjExcelSheet  =objExcelBook.WorkSheets

(1)

%>

(4)另存Excel文件

   另存Excel文件可以通过以下代码来实现

<%

objExcelBook.SaveAsstrAddr&"templateTables.xls"

%>

(5)保存Excel文件

   保存Excel文件可以通过以下代码来实现:

<%

objExcelBook.Save

%>      

(6)退出Excel操作

<%

objExcelApp.Quit         '一定要退出

setobjExcelApp=nothing

%>

2读取Excel文件的实例

strsource=server.MapPath("xl.xls")

setxlbook=xlApp.WorkBooks.Open(strsource)

setxlsheet=xlbook.Worksheets

(1)

i=1

response.write"

"

whilexlsheet.cells(i,1)<>""

   response.write"

"

   response.write"

"

   response.write"

"

   response.write"

"

   response.write"

"

   i=i+1

   

wend

response.write"

"&xlsheet.Cells(i,1)&""&xlsheet.Cells(i,2)&""&xlsheet.Cells(i,3)&"
"

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("ADODB.Recordset")

   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("maxId"))+1

      else

         maxId=1

      endif

   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

   

   response.write"共导入"&j_1&"条记录.
"

   response.write"关闭窗口"

   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即可,版本通用的好象都可以。

  

二、            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  &  "TempletTable.xls")  

set  objExcelBook  =  objExcelApp.ActiveWorkBook  

set  objExcelSheets  =  objExcelBook.Worksheets  

set  objExcelSheet  =  objExcelBook.Sheets

(1)  

4、            另存Excel文件  

objExcelBook.SaveAs  strAddr  &  "TempTable.xls"  

5、            保存Excel文件  

objExcelBook.Save                        (笔者测试时保存成功,页面报错。

此内容系随机生成,谢绝站长们转转,您查看的内容来自★点击设计★www.djasp.Net

点击设计,专业的网页编程资讯站点,欢迎访问!

  请记好点击设计的域名:

www.djasp.Net如果您正在浏览此内容,请关闭此网页,然后访问点击设计的官方网址:

)  

6、            退出Excel操作  

objExcelApp.Quit            一定要退出  

set  objExcelApp  =  Nothing  

三、            ASP操作Excel生成数据表  

1、            在一个范围内插入数据  

objExcelSheet.Range("B3:

k3").Value  =  Array("67","87",  "5",  "9",  "7",  "45",  "45",  "54","54",  "10")  

2、            在一个单元格内插入数据  

objExcelSheet.Cells(3,1).Value="Internet  Explorer"  

3、            选中一个范围  

4、            单元格左边画粗线条  

5、            单元格右边画粗线条  

6、            单元格上边画粗线条  

7、            单元格下边画粗线条  

8、            单元格设定背景色  

9、            合并单元格  

10、            插入行  

11、            插入列  

四、            ASP操作Excel生成Chart图  

1、            创建Chart图  

objExcelApp.Charts.Add  

2、            设定Chart图种类  

objExcelApp.ActiveChart.ChartType  =  97  

注:

二维折线图,4;二维饼图,5;二维柱形图,51  

3、            设定Chart图标题  

objExcelApp.ActiveChart.HasTitle  =  True  

objExcelApp.ActiveChart.ChartTitle.Text  =  "A  test  Chart"  

4、            通过表格数据设定图形  

objExcelApp.ActiveChart.SetSourceData  objExcelSheet.Range("A1:

k5"),1  

5、            直接设定图形数据(推荐)  

objExcelApp.ActiveChart.SeriesCollection.NewSeries  

objExcelApp.ActiveChart.SeriesCollection

(1).Name  =  "=""333"""  

objExcelApp.ActiveChart.SeriesCollection

(1).Values  =  "={1,4,5,6,2}"  

6、            绑定Chart图  

objExcelApp.ActiveChart.Location  1  

7、            显示数据表  

objExcelApp.ActiveChart.HasDataTable  =  True  

8、            显示图例  

objExcelApp.ActiveChart.DataTable.ShowLegendKey  =  True  

五、            服务器端Excel文件浏览、下载、删除方案  

浏览的解决方法很多,“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("ADODB.Connection")

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")

MyExcelChart.ActiveSheet.Range("B3:

k3").Value=Array

("67","87","5","9","7","45","45","54","54","10")

MyExcelChart.ActiveSheet.Range("B4:

k4").Value=Array

("10","10","8","27","33","37","50","54","10","10")

MyExcelChart.ActiveSheet.Range("B5:

k5").Value=Array

("23","3","86","64","60","18","5","1","36","80")

MyExcelChart.ActiveSheet.Cells(3,1)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 其它考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1