asp导入序列(asp导入excel到数据库)

Exce表格网 2023-03-03 15:50 编辑:admin 170阅读

1. asp导入序列

pycharm通过模拟器控制视图的流程,再结合代码的嵌入,实现web的连接。

在其最基本的层面上,web应用包含了一组程序(或者函数),当用户访问相应的URL时,该程序将被执行。同时,程序的输出返回给用户,并呈现在浏览器中。

web框架是为了让开发者更快,更简洁,无差错的开发新应用。它通过提供API和开发工具,以减少代码的编写量。

开发web应用的两个经典方法是:

通过编程生成HTML代码

将代码嵌入HTML页面中

早期的CGI脚本遵循第一种模型。下列脚本遵循第二种模型,例如PHP[php](代码用PHP编写,类似C语言)、ASP(代码用Visual Basic编写)以及JSP(代码用Java编写)脚本。

这里举一个PHP程序的例子,执行时,从数据库中获得数据,并返回一个显示选中记录的HTML页面。

<html><body><h1>Records</h1><? mysql_connect(localhost,username,password); @mysql_select_db(database) or die( "Unable to select database"); $query="SELECT * FROM contacts"; $result=mysql_query($query); mysql_close(); $i=0; while ($i < mysql_numrows($result)) { $name=mysql_result($result,$i,"name"); $phone=mysql_result($result,$i,"phone"); echo "<b>$name</b><br>Phone:$phone<br /><br /><hr /><br />"; $i++; } ?></body></html>

这种方法的问题在于,程序代码嵌入到HTML中,但是这个程序在生成额外的HTML的同时,还要生成SQL语句查询数据库,应用的不同层次交织在一起,代码变得难以阅读和难以维护。对于Ajax应用程序,情况就更糟了,随着应用页数(文件)的增加,复杂性也增加。

上述例子的功能,在web2py中可用两行Python代码来表达:

def index(): return HTML(BODY(H1('Records'), db().select(db.contacts.ALL)))

在这个简单的例子中,页面结构由HTML,BODY和H1对象程序化表示;通过select语句查询数据库db;最后,所有结果都被序列化成HTML代码。注意db不是关键字,而是一个用户定义的变量。为了避免混淆,我们将始终使用db这一术语来指代数据库连接。

web框架通常分为两种类型:一种是“胶水”框架,通过组合(粘合)几个第三方组件来构造。另一种是“全功能栈”框架,通过创建特别设计的紧密整合和协作工作的组件来构造

2. asp导入excel到数据库

首先要把数据库中的数据想办法读出来,然后再在app中显示出来.读取数据需要先在网络服务器端使用PHP\JSP\ASP等服务器语言操作数据库获得数据,写一个查询接口,返回数据;app端使用ajax异步GET请求该数据,然后显示在APP页面上。也可以使用node.js在服务端读数据库。

3. asp导入excel到access缺少excel驱动

ASP连接的是ACCESS数据库,两种常用方法。

例如:数据库名称为data.mdb,位于根目录下,与conn.asp文件同一目录。

第一种:<%dim conn  dim connstrconnstr="DBQ="+server.mappath("data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"set conn=server.createobject("ADODB.CONNECTION") conn.open connstr %>第二种:<%dim conn  dim connstrConnstr="Provider=;Data Source=" & Server.MapPath("data.mdb") Set conn = Server.CreateObject("ADODB.Connection") Conn.Open Connstr %>

4. asp导入excel数据时无法访问

Response.WriteFile(ASP.NET 数据导出到excel文件给客户端下载的几种方法

数据导出到excel文件给客户端下载的几种方法:

方法一:导出到csv文件,存放在服务器端任一路径,然后给客户下载

优点:

1、可以进行身份认证后给客户下载,如果放到非web目录就没有对应的url,客户无法随时下载。

2、也是因为生成了文件,所以占用了服务器的空间,但是可以把文件名存放到数据库,再次给客户下载的时候不需要重复生成文件。

3、csv文件是文本文件,逗号隔开字段,回车隔开行,易于数据导入导出。

实现方法:

SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);

SqlDataAdapter da=new SqlDataAdapter("select * from tb1",conn);

DataSet ds=new DataSet();

da.Fill(ds,"table1");

DataTable dt=ds.Tables["table1"];

string name=System.Configuration.ConfigurationSettings.AppSettings["downloadurl"].ToString() DateTime.Today.ToString("yyyyMMdd") new Random(DateTime.Now.Millisecond).Next(10000).ToString() ".csv";//存放到web.config中downloadurl指定的路径,文件格式为当前日期 4位随机数

FileStream fs=new FileStream(name,FileMode.Create,FileAccess.Write);

StreamWriter sw=new StreamWriter(fs,System.Text.Encoding.GetEncoding("gb2312"));

sw.WriteLine("自动编号,姓名,年龄");

foreach(DataRow dr in dt.Rows)

{sw.WriteLine(dr["ID"] "," dr["vName"] "," dr["iAge"]);}

sw.Close();

Response.AddHeader("Content-Disposition", "attachment; filename=" Server.UrlEncode(name));

Response.ContentType = "application/ms-excel";// 指定返回的是一个不能被客户端读取的流,必须被下载

Response.WriteFile(name); // 把文件流发送到客户端

Response.End();

方法二:导出到csv文件,不存放到服务器,直接给浏览器输出文件流

优点:

1、随时生成,不需要占用资源

2、可以结合身份认证

3、同样利于数据交换

实现方法:

SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);

SqlDataAdapter da=new SqlDataAdapter("select * from tb1",conn);

DataSet ds=new DataSet();

da.Fill(ds,"table1");

DataTable dt=ds.Tables["table1"];

StringWriter sw=new StringWriter();

sw.WriteLine("自动编号,姓名,年龄");

foreach(DataRow dr in dt.Rows)

{sw.WriteLine(dr["ID"] "," dr["vName"] "," dr["iAge"]);}

sw.Close();

Response.AddHeader("Content-Disposition", "attachment; filename=test.csv");

Response.ContentType = "application/ms-excel";

Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");

Response.Write(sw);

Response.End();

对方法一,二补充一点,如果你希望导出的是xls文件分隔符用\t就可以了,不要用逗号

代码修改如下:

sw.WriteLine("自动编号\t姓名\t年龄");

foreach(DataRow dr in dt.Rows)

{sw.WriteLine(dr["ID"] "\t" dr["vName"] "\t" dr["iAge"]);}

另外,修改输出的文件扩展名为xls即可。

方法三:从datagrid导出html代码,生成excel文件,给客户端下载

实现方法:

Response.Clear();

Response.Buffer= false;

Response.Charset="GB2312";

Response.AppendHeader("Content-Disposition","attachment;filename=test.xls");

Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312"); Response.ContentType = "application/ms-excel"; this.EnableViewState = false;

System.IO.StringWriter oStringWriter = new System.IO.StringWriter();

System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

this.DataGrid1.RenderControl(oHtmlTextWriter);

Response.Write(oStringWriter.ToString());

Response.End();

在这里说明一点:有的网友反映代码出现“没有dr["id"]”之类的错误,这个代码是按照我的数据结构来写的,到时候相关的字段要换成你自己的才是。

还有就是如果文件名需要中文的话,这么修改Response.AddHeader("Content-Disposition", "attachment; filename=" System.Web.HttpUtility.UrlEncode("中文",System.Text.Encoding.UTF8) ".xls");

5. asp导入excel到数据库 500

可能是网络问题导致卡住了

6. asp导入excel到数据库 引入dll

asp文件源码:

Set ConnDll = Server.CreateObject("Config.SqlConnection")

Conndll.Db = "yeekang"

Conndll.uid = "sa"

Conndll.pwd = "123456"

ConnDll.ConnectionData()

Set Rs = Server.CreateObject("Adodb.RecordSet")

Sql = "Select * From Ask"

Rs.Open Sql,ConnDll.Conn,1,1

Response.Write(Rs.RecordCount)

config.dll源码

Dim ConnStr As String

Public Conn As New ADODB.Connection

Dim rp As Response

Dim rq As Request

Dim ap As Application

Dim se As Session

Dim sr As Server

Public Db As String

Public uid As String

Public Pwd As String

Public Sub OnStartPage(Mysc As ScriptingContext)

Set rp = Mysc.Response

Set rq = Mysc.Request

Set ap = Mysc.Application

Set se = Mysc.Session

Set sr = Mysc.Server

End Sub

Public Sub OnEndPage()

Set rp = Nothing

Set rq = Nothing

Set ap = Nothing

Set se = Nothing

Set sr = Nothing

End Sub

Public Sub ConnectionData()

ConnStr = "driver={Sql server};server=.;database=" + Db + ";uid=" + uid + ";pwd=" + Pwd

Conn.Open ConnStr

rp.Write (ConnStr)

End Sub

Public Sub CloseConn()

Conn.Close

End Sub

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片