| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 494 人关注过本帖
标题:[原创]将excel做为数据库进行操作,\添加\删除\修改
只看楼主 加入收藏
xiaojie_cp
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-6-9
收藏
 问题点数:0 回复次数:0 
[原创]将excel做为数据库进行操作,\添加\删除\修改

最近做一系统,老板要求最终要给他一个excel表格,网上搜了半天,大部分是以Excel.Application组件来操作,进行实时动态添加、更新、删除等操作,虽然功能还可以,但实现起来可能相对复杂,另外一种比较简单,就是在正常的输出页面中加入一句<%response.contenttype ="application/vnd.ms-excel"%>来实现,但如果需要更新、添加等操作则不行,后来想到有用excel作为数据库的操作方法,通过实践,基本实现了大部分功能。把代码附上,算是一点心得体会。

其实个人感觉用excel做数据源和其他如access等区别并不大,关键是连接excel的操作部分,如果这部分不对的话,可能能够连接,能够读取,但如果想添加删除等则不行了。以下为代码

新建一名为test.xls的excel文件,然后将以下代码存为一个asp文件,将asp文件和excel文件放在同一目录中,执行即可。

<%
dim connxls,connstrxls
db="test.xls"
'connstrxls="DBQ="&Server.MapPath(""&db&"")&";DefaultDir=;DRIVER={Microsoft Excel Driver (*.xls)};" 如果用此行驱动的话则只能读取,不能进行添加更新操作。
StrConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"") & ";Extended Properties=""Excel 8.0;"""
set connxls=server.createobject("ADODB.CONNECTION")
connxls.open StrConn

'-----------建表测试--------------

Sql = "CREATE TABLE jobs"
Sql = Sql & "("
Sql = Sql & "ID smallint,"
Sql = Sql & "Title varchar(50),"
Sql = Sql & "Content varchar(50),"
Sql = Sql & "Addtime datetime"
Sql = Sql & ")"
connxls.Execute(Sql)
Response.Write("建表成功!<br>")

'----------删表测试,此部分操作不成功-----------
'Sql = "CREATE TABLE jobs111"
'Sql = Sql & "("
' Sql = Sql & "ID smallint,"
' Sql = Sql & "Title varchar(50),"
' Sql = Sql & "Content varchar(50),"
' Sql = Sql & "Addtime datetime"
'Sql = Sql & ")"
'connxls.Execute(Sql)
'Response.Write("建表成功!<br>")
'Connxls.Execute("DROP TABLE jobs111")
'Response.Write("删表成功<br>")
'-----------------------------------------------

'-----------删表测试--------------
'connxls.Execute("DROP TABLE [Sheet1]")
'connxls.Execute("DROP TABLE Sheet2")
'connxls.Execute("DROP TABLE Sheet3")

'---------------------------------

'-----------插入记录---------------
Set rsxls=Server.CreateObject("ADODB.Recordset")
SQLxls = "select * from [jobs]"
rsxls.Open SQLxls,Connxls,1,3
Rsxls.AddNew
Rsxls("ID") = 1
Rsxls("Title") = "此为测试"
Rsxls("Content") = "测试内容"
Rsxls("Addtime") = Now()
Rsxls.Update
Rsxls.Close
Set Rsxls = Nothing
Response.Write("添加成功<br>")

'----------读取记录-----------------
Set Rs = Server.CreateObject("ADODB.RecordSet")
Rs.Open "Select * From [jobs]",connxls,1,1
Do While Not Rs.Eof
%>
ID:<%=Rs("ID")%> Title:<%=Rs("Title")%> <%=Rs("Content")%> <%=Rs("Addtime")%><br>
<%
Rs.MoveNext
Loop
Rs.Close
Set Rs = Nothing
'----------------------------------
%>
删除表部分不知为什么不可行,删除默认表格(指Sheet1\Sheet2\Sheet3)等会报错,删除自己建的表,会把所有记录清除,包括字段名,但不会删除表。

搜索更多相关主题的帖子: 数据库 excel 删除 
2006-12-01 12:40
快速回复:[原创]将excel做为数据库进行操作,\添加\删除\修改
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035403 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved