asp读取数据库数据并生成excel文件实例代码如下:
<%
if Request("act") = "" then
Response.Write "英才小学工资报表生成页面"
else
dim conn,strconn
strconn="driver={SQL Server};server=wen;uid=sa;pwd=;database=DB_Test" set conn=server.CreateObject("adodb.connection")
conn.Open strconn
dim rs,sql,filename,fs,myfile,x
Set fs = server.CreateObject("scripting.filesystemobject")
'--假设你想让生成的EXCEL文件做如下的存放
filename = Server.MapPath("online.xls")
'--如果原来的EXCEL文件存在的话就删除
if fs.FileExists(filename) then
fs.DeleteFile(filename)
end if
'--创建EXCEL文件
set myfile = fs.CreateTextFile(filename,true)
Set rs = Server.CreateObject("ADODB.Recordset")
'--从数据库中把你想放到EXCEL中的数据读出来
sql = "select * from Tb_Execl order by id desc"
rs.Open sql,conn,1,1
if rs.EOF and rs.BOF then
else
dim strLine,responsestr
strLine=""
For each x in rs.fields
strLine = strLine & https://www.wendangku.net/doc/7f9002524.html, & chr(9)
Next
'--将表的列名先写入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
end if
rs.Close
set rs = nothing
End If
%>
asp操作excel方法 代码如下: <% ‘************************************************* ****************** ‘使用说明 ‘dim a ‘set a=new createexcel ‘a.savepath=x ‘保存路径 ‘a.sheetname=工作簿名称‘多个工作表a.sheetname=array(工作簿名称一,工作簿名称二) ‘a.sheettitle=表名称‘可以为空多个工作表a.sheetname=array(表名称一,表名称二) ‘a.data =d ‘二维数组‘多个工作表 array(b,c) b 与c为二维数组 ‘dim rs ‘set rs=server.createobject(adodb.recordset) ‘rs.open select id, classid, classname from [class] ,conn, 1, 1 ‘a.adddbdata rs, 字段名一,字段名二, 工作簿名称, 表名称, true ‘true自动获取表字段名
‘a.adddata c, true , 工作簿名称, 表名称‘c二维数组 true 第一行是否为标题行 ‘a.addtdata e, sheet1 ‘按模板生成c=array(array(aa1, 内容), array(aa2, 内容2)) ‘a.create() ‘https://www.wendangku.net/doc/7f9002524.html,edtime 生成时间,毫秒数 ‘a.savepath 保存路径 ‘set a=nothing ‘设置com组件的操作权限。在命令行键入“dcomcnfg”,则进入com组件配置界面,选择microsoftexcel后点击属性按钮,将三个单选项一律选择自定义,编辑中将everyone 加入所有权限 ‘************************************************* ****************** class createexcel private createtype_ private savepath_ private readpath_ private authorstr rem 设置作者 private versionstr rem 设置版本 private systemstr rem 设置系统名称
ASP直接调用EXCEL数据的例子(不用ODBC) 例子: 在"c:excelbook1.xls"存在一个EXCEL表book1.xsl,表的结构如下: 1 序号名称金额 2 1 张三100 3 2 李四200 4 3 王五300 序号字段不为空 注意:excel 起始行是1而不是为0 <%@language=vbscript %> <% Set xlApp = server.CreateObject("Excel.Application") strsource = "c:excelbook1.xls" Set xlbook = xlApp.Workbooks.Open(strsource) Set xlsheet = xlbook.Worksheets(1) i=1 response.write "
" & xlsheet.Cells(i, 1) & " | " response.write "" & xlsheet.Cells(i, 2) & " | " response.write "" & xlsheet.Cells(i, 3) & " | " response.write "
asp数据库数据生成excel文件:
如何打开Excel数据库文件,想必有很多朋友都不清楚吧,下面通过一个简单的例子,实现读取Excel数据文件 在CSDN中,经常有人问如何打开Excel数据库文件。本文通过一个简单的例子,实现读取Excel数据文件。 首先,创建一个Web应用程序项目,在Web页中添加一个DataGrid控件、一个文件控件和一个按钮控件。 代码如下: <INPUTid="File1"type="file"name="File1"runat="server"> <asp:Buttonid="Button1"runat="server"Text="Button"></asp:Button> <asp:DataGridid="DataGrid1"runat="server"></asp:DataGrid> 在代码视图中首先导入OleDb命名空间: usingSystem.Data.OleDb; 在按钮的单击事件中输入如下代码: 代码如下: stringstrPath="c://test//"+DateTime.Now.ToString("yyyyMMddhhmmss")+".xls"; File1.PostedFile.SaveAs(strPath); stringmystring="Provider=Microsoft.Jet.OLEDB.4.0;DataSource='"+strPath+"';ExtendedPropertie s=Excel8.0"; OleDbConnectioncnnxls=newOleDbConnection(mystring); OleDbDataAdaptermyDa=newOleDbDataAdapter("select*from[Sheet1$]",cnnxls); DataSetmyDs=newDataSet(); myDa.Fill(myDs); DataGrid1.DataSource=myDs.Tables[0]; DataGrid1.DataBind(); 其中C:/test对ASPNET用户要有读写的权限. 更多信息请查看IT技术专栏
ASP实例代码asp操作Excel类 asp操作Excel类: <% '******************************************************************* '使用说明 'Dim a 'Set a=new CreateExcel 'a.SavePath="x" '保存路径 'a.SheetName="工作簿名称" '多个工作表 a.SheetName=array("工作簿名称一","工作簿名称二") 'a.SheetTitle="表名称" '可以为空多个工作表a.SheetName=array("表名称一","表名称二") 'a.Data =d '二维数组'多个工作表array(b,c) b与c为二维数组 'Dim rs 'Set rs=server.CreateObject("Adodb.RecordSet") 'rs.open "Select id, classid, className from [class] ",conn, 1, 1 'a.AddDBData rs, "字段名一,字段名二", "工作簿名称", "表名称", true 'true自动获取表字段名 'a.AddData c, true , "工作簿名称", "表名称" 'c二维数组true 第一行是否为标题行 'a.AddtData e, "Sheet1" '按模板生成c=array(array("AA1", "内容"), array("AA2", "内容2")) 'a.Create() 'https://www.wendangku.net/doc/7f9002524.html,edTime 生成时间,毫秒数 'a.SavePath 保存路径 'Set a=nothing '设置COM组件的操作权限。在命令行键入“DCOMCNFG”,则进入COM组件配置界面,选择MicrosoftExcel后点击属性按钮,将三个单选项一律选择自定义,编辑中将Everyone 加入所有权限 '******************************************************************* Class CreateExcel Private CreateType_ Private savePath_ Private readPath_ Private AuthorStr Rem 设置作者 Private VersionStr Rem 设置版本 Private SystemStr Rem 设置系统名称 Private SheetName_ Rem 设置表名 Private SheetTitle_ Rem 设置标题 Private ExcelData Rem 设置表数据 Private ExcelApp Rem Excel.Application Private ExcelBook Private ExcelSheets
1.ASP对Excel的基本操作 (1) 建立Excel对象 创建Excel对象可以通过下面的代码来实现: <% set objExcelApp = CreateObject("Excel.Application") objExcelApp.DisplayAlerts = false '不显示警告objExcelApp.Application = false '不显示界面 %> (2) 新建Excel文件 新建Excel文件可以通过以下代码来实现: <% objExcelApp.WorkBooks.add set objExcelBook = objExcelApp.ActiveWorkBook set objExcelSheets = objExcelBook.Worksheets set objExcelSheet = objExcelBook.Sheets(1) %> (3) 读取已有的Excel文件 读取已有的Excel文件可以通过下面的代码来实现 <% strAddr = Server.MapPath(".") objExcelApp.WorkBooks.Open(strAddr & "TempletTable.xls") set objExcelBook = objExcelApp.ActiveWorkBook set objExcelSheets = objExcelBook.Worksheets set objExcelSheet = objExcelBook.WorkSheets(1) %> (4) 另存Excel文件 另存Excel文件可以通过以下代码来实现 <% objExcelBook.SaveAs strAddr & "templateTables.xls" %> (5) 保存Excel文件 保存Excel文件可以通过以下代码来实现: <% objExcelBook.Save %> (6) 退出Excel操作 <%
Excel中的数据导入到Access中,前提是在Access中的表已经建好。 dim conn dim conn2 set conn=CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Data Source=c:\book1.mdb" set conn2=CreateObject("ADODB.Connection") conn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Extended properties=Excel 5.0;Data Source=c:\book1.xls" sql = "select * FROM [Sheet1$]" set rs = conn2.execute(sql) while not rs.eof sql = "insert into xxx([a],[bb],[c],[d]) values('"& fixsql(rs(0)) &"','"& fixsql(rs(1)) &"','"& fixsql(rs(2)) &"','"& fixsql(rs(3)) &"')" conn.execute(sql) rs.movenext wend conn.close set conn = nothing conn2.close set conn2 = nothing function fixsql(str) dim newstr newstr = str if isnull(newstr) then newstr = "" else newstr = replace(newstr,"'","'") end if fixsql = newstr end function 导入到Sql Server数据库中时,如果Excel文件和数据库不在同一台服务器上时,请参考上面的代码。在同一机器上可以参考下面代码(不需要先把表建表,程序会自己动建表,用Excel 中的第一行数据做为表的字段名): dim conn set conn=CreateObject("ADODB.Connection")
<%@ LANGUAGE="VBSCRIPT" %> <%option explicit%>
ASP生成Excel文件方法 方法一:导出到csv文件,存放在服务器端任一路径,然后给客户下载优点: 1、可以进行身份认证后给客户下载,如果放到非web目录就没有对应的url,客户无法随时下载。 2、也是因为生成了文件,所以占用了服务器的空间,但是可以把文件名存放到数据库,再次给客户下载的时候不需要重复生成文件。 3、csv文件是文本文件,逗号隔开字段,回车隔开行,易于数据导入导出。 实现方法: SqlConnection conn=new SqlConnection("conn"]); SqlDataAdapter da=new SqlDataAdapter("select*from tb1",conn); DataSet ds=new DataSet(); da.Fill(ds,"table1"); DataTable dt=ds.Tables["table1"]; string name="downloadurl"].ToString()+"yyyyMMdd")+new Random(".csv";//存放到web.config中downloadurl指定的路径,文件格式为当前日期+4位随机数 FileStream fs=new FileStream(name,FileMode.Create,FileAccess.Write); StreamWriter sw=new StreamWriter(fs,"gb2312")); sw.WriteLine("自动编号,姓名,年龄"); foreach(DataRow dr in dt.Rows) { sw.WriteLine(dr["ID"]+","+dr["vName"]+","+dr["iAge"]); } sw.Close();
(一)数据库的选择: 有许多的数据库你可以选择,SQL SERVER、ACCESS(*.mdb)、EXCEL(*.xls)、FOXPRO(*.dbf)甚至普通的文本文件(*.txt)都可以达到存储数据的功能。那么到底选择什么数据库最合适呢?其中SQL SERVER是服务器级的,足以应付每天上万次的访问量。对于非服务器级的数据库建议使用ACCESS97。 因为: (1)只要安装了PWS或IIS4肯定有ACCESS的ODBC驱动,即你的系统肯定支持ACCESS数据库的存取。 (2)ACCESS支持的SQL指令非常齐全。 (3)ACCESS ODBC驱动程序的效率非常高。虽然它不是服务器级的数据库,但是作为中小型企业内部网的数据库支持还是绰绰有余的。 (4)ACCESS97在OFFICE97中就有,非常方便得到和使用。 本文就以ACCESS数据库为准介绍基于WEB的数据库存取方法。 (二)例子:我们建立一个“客户”数据库,需要保存如下的客户资料:客户名称、联络人姓名、所在城市、电话号码。 (1)首先建立ACCESS数据库customer.mdb(今后有用的)。 建立如下字段:客户名称、联络人姓名、所在城市、电话号码、客户编号、时间。将表保存为" 客户"(今后有用的,===>看看图)。注意:建立字段时多作了2个(客户编号、时间),因为在今后排序时要用到它们。建议今后做数据库时最好都加上这2项,不会没用的。此外,在保存表时ACCESS 会询问是否建立一个住关键字,我们不需要它所以不必建立。还有:时间字段的"默认值"设成"now()",即去系统当时的时间。同时将索引项设成"有(允许重复)",含义:WEB上极有可能同时存取数据,所以允许重复,索引设成"有"可以加快排序速度。===>看看图 (2)建立递交表单add.htm: 源代码如下:
添加数据库记录