如何将excel中的数据excel导入mysql数据库数据库

asp.net中EXCEL数据导入到数据库的方法
本文实例讲述了asp.net中数据导入到的方法。分享给大家供大家参考。具体分析如下:
excel是办公中非常常用的一个办公表格了,但我们在开发中通常会需要直接把excel数据快速导入到数据库中了,这里整理了一个asp.net中EXCEL数据导入到数据库的例子供各位参考学习。
注意:EXCEL中的第一行不能导入。
下面是源码:IntoExcel.aspx:
代码如下:&%@ Page& AutoEventWireup="true" CodeFile="IntoExcel.aspx.cs" Inherits="study_IntoExcel" %&&
&!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&&
&html xmlns="http://www.w3.org/1999/xhtml" &&
&head id="Head1" runat="server"&&
&title&无标题页&/title&&
&script language="javascript" type="text/javascript"&&!--&
// &!CDATA[&
function check() {&
var k=//S+/.[xls]/;&
if(!k.test(document.getElementById("fileId").value))&
&&& alert("只能上次xls格式的文件");&
// --&&/script&&
&&& &form id="form1" runat="server"&&
&&& &div&&
&&&&&&& &asp:FileUpload ID="fileId" runat="server" /&&
&&&&&&& &asp:Button ID="Button1" runat="server" Text="上传" OnClientClick="return check()" onclick="Button1_Click" /&&/p&&
&&& &/div&&
&&& &/form&&
IntoExcel.aspx.cs
代码如下:using S&
using System.Collections.G&
using System.L&
using System.W&
using System.Web.UI;&
using System.C&
using System.C&
using System.D&
using System.Web.S&
using System.Web.UI.HtmlC&
using System.Web.UI.WebControls.WebP&
using System.IO;&
using System.Data.OleDb;&
using System.Data.SqlC&
using System.Web.UI.WebC&
public partial class study_IntoExcel : System.Web.UI.Page&
&&& protected void Page_Load(object sender, EventArgs e)&
&&&&&&& /// &summary&&
&&&&&&& /// 上传文件&
&&&&&&& /// &/summary&&
&&&&&&& /// &param name="sender"&&/param&&
&&&&&&& /// &param name="e"&&/param&&
&&&&&&& protected void Button1_Click(object sender, EventArgs e)&
&&&&&&& {&
&&&&&&&&&&& string fileName = fileId.FileN&
&&&&&&&&&&& string savePath = Server.MapPath("~/file/");&
&&&&&&&&&&& FileOperatpr(fileName, savePath);&
&&&&&&&&&&& fileId.SaveAs(savePath + fileName);&
&&&&&&&&&&& DataOperator(fileName, savePath);&
&&&&&&& }&
&&&&&&& /// &summary&&
&&&&&&& /// 数据操作&
&&&&&&& /// &/summary&&
&&&&&&& /// &param name="fileName"&&/param&&
&&&&&&& /// &param name="savePath"&&/param&&
&&&&&&& private void DataOperator(string fileName, string savePath)&
&&&&&&& {&
&&&&&&&&&&& string myString = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =& " + savePath + fileName + ";Extended Properties=Excel 8.0";&
&&&&&&&&&&& OleDbConnection oconn = new OleDbConnection(myString);&
&&&&&&&&&&& oconn.Open();&
&&&&&&&&&&& DataSet ds = new DataSet();&
&&&&&&&&&&& OleDbDataAdapter oda = new OleDbDataAdapter("select * from [Sheet1$]", oconn);&
&&&&&&&&&&& oda.Fill(ds);&
&&&&&&&&&&& oconn.Close();&
&&&&&&&&&&& DataSetOperator(ds,savePath+fileName);&
&&&&&&& }&
&&&&&&& /// &summary&&
&&&&&&& /// 数据集操作&
&&&&&&& /// &/summary&&
&&&&&&& /// &param name="ds"&&/param&&
&&&&&&& private void DataSetOperator(DataSet ds,string filePath)&
&&&&&&& {&
&&&&&&&&&&& SqlConnection conn = new SqlConnection("Data Source=SONYSVR;Initial Catalog=IAR_Factory_811;User ID=Password=P@ssword");&
&&&&&&&&&&& conn.Open();&
&&&&&&&&&&& SqlTransaction str = conn.BeginTransaction();//利用事务处理 防止中断&
&&&&&&&&&&& int k = 0;&
&&&&&&&&&&& if (ds.Tables[0].Rows.Count & 1)&
&&&&&&&&&&& {&
&&&&&&&&&&&&&&& Response.Write("&script&alert('没有数据!')&/script&");&
&&&&&&&&&&&&&&&&
&&&&&&&&&&& }&
&&&&&&&&&&& try&
&&&&&&&&&&& {&
&&&&&&&&&&&&&&& for (int i = 0; i & ds.Tables[0].Rows.C i++)&
&&&&&&&&&&&&&&& {&
&&&&&&&&&&&&&&&&&&& string &strong&&a href="" title="sql" target="_blank"&sql&/a&&/strong&Str = "insert into IntoExcel(Tname,Tage,Taddress)values";&
&&&&&&&&&&&&&&&&&&& sqlStr +="('"+ ds.Tables[0].Rows[i][0].ToString()+"',";&
&&&&&&&&&&&&&&&&&&& sqlStr += ds.Tables[0].Rows[i][1].ToString()+",";&
&&&&&&&&&&&&&&&&&&& sqlStr +="'" +ds.Tables[0].Rows[i][2].ToString()+"')";&
&&&&&&&&&&&&&&&&&&& SqlCommand cmd = new SqlCommand(sqlStr, conn, str);&
&&&&&&&&&&&&&&&&&&& cmd.Transaction =&
&&&&&&&&&&&&&&&&&&& k += cmd.ExecuteNonQuery();&
&&&&&&&&&&&&&&& }&
&&&&&&&&&&&&&&& mit();&
&&&&&&&&&&& }&
&&&&&&&&&&& catch (Exception ex)&
&&&&&&&&&&& {&
&&&&&&&&&&&&&&& Response.Write("发生异常,数据已回滚/n信息/n" + ex.Message);&
&&&&&&&&&&&&&&& str.Rollback();&
&&&&&&&&&&& }&
&&&&&&&&&&& finally&
&&&&&&&&&&& {&
&&&&&&&&&&&&&&& Response.Write("上传成功" + k + "条");&
&&&&&&&&&&&&&&& File.Delete(filePath);&
&&&&&&&&&&& }&
&&&&&&& }&
&&&&&&& /// &summary&&
&&&&&&& /// 文件操作&
&&&&&&& /// &/summary&&
&&&&&&& /// &param name="fileName"&&/param&&
&&&&&&& /// &param name="savePath"&&/param&&
&&&&&&& private void FileOperatpr(string fileName, string savePath)&
&&&&&&& {&
&&&&&&&&&&& if (!Directory.Exists(savePath))&
&&&&&&&&&&& {&
&&&&&&&&&&&&&&& Directory.CreateDirectory(savePath);&
&&&&&&&&&&& }&
&&&&&&&&&&& if (File.Exists(savePath + fileName))&
&&&&&&&&&&& {&
&&&&&&&&&&&&&&& File.Delete(savePath + fileName);&
&&&&&&&&&&& }&
&&&&&&& }&
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + savePath + ";Extended Properties='Excel 8.0;HDR=YES
&Provider=Microsoft.Jet.OLEDB.4.0;;//连接驱动
Data Source=" + savePath + "; // 数据库地址
Extended Properties='Excel 8.0; // 连接的是Excel8.0
HDR=YES;// 有两个值:YES/ NO, 这2个值,说了你是否能直接读列名,NO,只可以读下标
IMEX=1;//解决数字与字符混合时,识别不正常的情况.
这个读入数据库的方式不是最佳的,应该用office组件
select * from [Sheet1$] //引用EXCLE文件中sheet1工作表的内容
OleDB控件用的是OleDb的驱动程序,可以访问各种数据库&&
数据库中的字段:
代码如下:create table IntoExcel&
&&& Tid int identity(1,1) primary key,&
&&& Tname varchar(50),&
&&& Tage int,&
&&& Taddress varchar(200),&
SQL控件用的是专用的驱动程序,能高效的访问SQL Server数据库
SQLConnection只能访问SQL Server,而OleDbConnection则可以访问所有数据库。&&
如果只是访问SQL Server的话,SQL比OleDb更快。
希望本文所述对大家的asp.net程序设计有所帮助。
顶一下(0) 踩一下(0)
热门标签:记住登录一个月发表随想还能输入:200字该用户最新代码编程随想&by by by by by by [asp]代码库在页面上导入个excel文件,将该excel中的数据导入到数据库中,并且在页面的gridview中把数据显示出来.
1.在Asp.net中怎样将Excel文件中的数据导入到GridView中呢?
首先我们将这张表中的数据转换为DataTable类型的数据源,做一个函数来解决这个问题
private DataTable createDataSource(string strPath)
stringstrC
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strPath
+ ";Extended Properties=Excel 8.0";
OleDbConnectioncon = new OleDbConnection(strCon);
OleDbDataAdapterda = new OleDbDataAdapter("select * from [Sheet1$]", con);
DataTabledt = new DataTable();
da.Fill(dt);
只需要传入Excel文件的路径即可。
其次我们就是利用这个可以函数了。要想将客户端的Excel文件显示到客户端的GridView控件当中,这次都是客户端的东西,在我们的服务器端代码是无法做到的。所以我们必须把这个Excel文件暂时的保存到服务器,我们读取服务器端的文件才可以实现这样的功能。看下面的实现代码:
protected void Button1_Click(objectsender, EventArgs e)
//检查文件是否存在
if(FileUpload1.HasFile == false)//HasFile用来检查FileUpload是否有指定文件
Page.ClientScript.RegisterStartupScript(Page.GetType(),"message", "&script language='javascript' defer&alert('请您选择Excel文件!');&/script&");
//当无文件时,返回
stringfilename = DateTime.Now.ToString("yyyymmddhhMMss") +FileUpload1.FileN
//获取Execle文件名
DateTime日期函数
stringsavePath = Server.MapPath(("~/Doc/")+ filename);//Server.MapPath 获得虚拟服务器相对路径
//如果已经存在就清空
ClearFile(Server.MapPath("~/Doc/"));
FileUpload1.SaveAs(savePath);
//SaveAs将上传的文件内容保存在服务器上
DataTabledt = createDataSource(savePath);
GridView1.DataSource =
GridView1.DataBind();
在上面的代码中我们用到了一个函数ClearFile,它是用来清理文件夹的,我们将Excel文件暂时的存储到服务器端的一个文件夹中,只能暂时的存储,那么东西只会越来越多,而且这些东西也是一些没用的东西,很可能导致系统性能的下降。我们就是用这个函数来清理文件的,下面来一睹这个函数的精妙:
private void ClearFile(stringFilePath)
String[]files = System.IO.Directory.GetFiles(FilePath);
if(files.Length & 5)
for(int i = 0; i & 5; i++)
System.IO.File.Delete(files[i]);
分享到:更多发表评论:评论须知:1、评论每次加2分,每天上限为30;2、请文明用语,共同创建干净的技术交流环境;3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。mysql 如何导入excel表中的数据
mysql 如何导入excel表中的数据
20:13:00来源:
这种方法导入数据有点笨,但对于我这样的菜鸟很容易接受。首先我们肯定有一个excel的文件,文件中有大量的数据,每一列代表着不同的字段。我们首先建立一个数据库,然后在库中建立表,表的每个字段对应excel中的每一列。?一、假如excel中有四列数据,希望导入到数据库中 mytable 中,对应的字段分别为field1,field2,field3,field4.二、在excel表格中增加一列(?excel应该是E列),利用excel的公式自动生成SQL语句(这个很重要,别写错了),具体方法 如下?:& 1、增加一列(excel应该是E列,因为我们原有4列数据,分别为A\B\C\D列)& 2、在第一行(这一行必须为有效数据行否则出错)的E列,就是E1中输入公式=CONCATENATE("insert into table (field1,field2,field3,field4) values ('",A1,"','",B1,"','",C1,"','",D1,"');")& 3、此时E1已经生成如下的SQL语句: insert into mytable (field1,field2,field3、field4) values ('A1中 的数据','B1','C1','D1');& 4、将E1的公式复制到所有行的E列,(就是用鼠标点住E1单元格的右下角,一直拖拽下去,到最后一行数据)& 5、此时E列已经生成了所有的SQL语句& 6、选中E列把E列数据复制到一个纯文本文件中,命名为 例如:excel.txt三、把excel.txt 放到数据库中运行即可,可通过命令行导入& source f:\excel.txt如何用JAVA实现把EXCEL表中的数据导入到MYSQL数据库已有的表中
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
如何用JAVA实现把EXCEL表中的数据导入到MYSQL数据库已有的表中
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 excel如何导入数据库 的文章

 

随机推荐