CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

从excel导入数据到数据库

楼主blogkevin(中土)2005-04-01 08:47:58 在 .NET技术 / ASP.NET 提问

请问谁有这方面的源代码,请发给我一份,谢谢。。。。  
  公司项目中需要,以前没有做过。。。。。急。。在线等。。。。  
  最好是完整的。。。。谢谢。。。谢谢 问题点数:0、回复次数:5Top

1 楼ziyan0218()回复于 2005-04-01 09:05:15 得分 0

建立Connection对象的数据源连接字符串:  
  "Provider=Microsoft.Jet.Oledb.4.0;Data   Source=Excel   文件物理路径   +   ";Extended   Properties=Excel   8.0";    
   
  DataAdapter对象中的SQL语句应为:"Select   字段列表   From   [工作表名$]"  
   
  具体示例:  
   
   
  <%@   Import   NameSpace="System.Data"%>  
  <%@   Import   NameSpace="System.Data.OleDb"%>  
   
  <script   Language="C#"   runat="server">  
  void   Page_Load(Object   sender,EventArgs   e)  
  {  
  string   strConn   =   "Provider=Microsoft.Jet.Oledb.4.0;Data   Source="   +   Server.MapPath("Book1.xls")   +   ";Extended   Properties=Excel   8.0";    
  OleDbConnection   conn   =   new   OleDbConnection(strConn);  
  OleDbDataAdapter   adp   =   new   OleDbDataAdapter("Select   *   from   [Sheet1$]",conn);  
  DataSet   ds   =   new   DataSet();  
  adp.Fill(ds,"Book1");  
  ExlDataGrid.DataSource   =   ds.Tables["Book1"].DefaultView;  
  ExlDataGrid.DataBind();  
  }  
  </script>  
   
  <html>  
  <body>  
  <h4   align="center">读取Excel文件</h4>  
  <asp:DataGrid   id="ExlDataGrid"   width="100%"   HeaderStyle-BackColor="#999999"   ForeColor="#333333"   runat="server"></asp:DataGrid>  
  </body>  
  </html>  
  Top

2 楼litp(天道酬勤)回复于 2005-04-01 09:10:21 得分 0

本文介绍如何使用   Visual   C#   .NET   通过   ASP.NET   (.aspx)   页显示   Excel   工作表中的数据。  
   
  返回页首  
   
  创建示例   Excel   工作表  
  1.   启动   Microsoft   Excel,然后创建一个新的工作表。    
  2.   将以下信息添加到新工作表中以创建一个简单的   Excel   数据库:  
    A   B    
  1   FirstName   LastName    
  2   Scott   Bishop    
  3   Katie   Jordan    
  注意:虽然在本示例中数据是从单元格   A1   开始的,但是您可以将此数据添加到工作表中的任何相邻接的单元格。    
  3.   突出显示此数据所在的行和列。    
  4.   在插入菜单上,指向名称,然后单击定义。    
  5.   在“当前工作簿中的名称”文本框中,键入   myRange1,然后单击确定。    
  6.   在文件菜单上,单击保存。在“保存位置”列表中,选择   Web   服务器的根目录(通常为   C:\InetPub\Wwwroot\)。在“文件名”文本框中,键入   ExcelData.xls。单击确定。    
  7.   在文件菜单上,单击退出。    
  返回页首  
   
  使用   Visual   C#   .NET   创建   ASP.NET   示例  
  此代码示例说明如何查询和显示   Excel   工作表中的信息。以下代码使用您在上一节中创建的工作表。   1.   打开   Microsoft   Visual   Studio   .NET。此时将显示   Visual   Studio   .NET   集成开发环境   (IDE)。    
  2.   在文件菜单上,指向新建,然后单击项目。    
  3.   在新建项目对话框的项目类型下面,单击   Visual   C#   项目。在模板下面,单击   ASP.NET   Web   应用程序。    
  4.   在新建项目对话框中,找到名称和位置文本框。注意,名称文本框不可用(它显示为灰色)。位置文本框包含以下文本(或类似的文本):    
  http://localhost/WebApplication1    
  将位置文本框中的文本替换为   http://localhost/ExcelCSTest,然后单击确定。此时将创建一个新项目,其中包括一个名为   WebForm1.aspx   的   Web   窗体。    
  5.   在   Visual   Studio   .NET   IDE   中,找到“解决方案资源管理器”窗口。如果找不到该窗口,请单击视图菜单上的解决方案资源管理器。    
  6.   在解决方案资源管理器中,右键单击   WebForm1.aspx,然后单击视图设计器以显示用于设计页面外观的设计器。可以使用该设计器,添加控件并处理页面的外观。    
  7.   查找工具箱。根据您的“IDE   选项”设置,工具箱可能以窗口或按钮的形式出现(通常出现在   IDE   的左侧)。如果找不到工具箱,请单击视图菜单上的工具箱。  
   
  如果工具箱以按钮的形式出现,将指针移动到该按钮上以显示工具箱的内容。    
  8.   当   Web   窗体的设计器视图处于活动状态时,工具箱被划分为几部分,其中包括   Web   窗体、组件、HTML   和其他部分。单击   Web   窗体部分。    
  9.   在工具箱的   Web   窗体部分,单击   DataGrid,然后将其拖到   WebForm1   的设计器上。    
  10.   右键单击   WebForm1.aspx,然后单击查看代码以显示代码隐藏页的源代码。    
  11.   将下面的语句添加到代码隐藏页顶部的命名空间部分之上:  
  using   System.Data.OleDb;  
  using   System.Data;  
   
     
  12.   突出显示以下代码,右键单击该代码,然后单击复制。在   WebForm1.aspx.cs   中,将这些代码复制到   Page_Load   事件中:  
  //   Create   connection   string   variable.   Modify   the   "Data   Source"  
  //   parameter   as   appropriate   for   your   environment.  
  String   sConnectionString   =   "Provider=Microsoft.Jet.OLEDB.4.0;"   +  
  "Data   Source="   +   Server.MapPath("../ExcelData.xls")   +   ";"   +  
  "Extended   Properties=Excel   8.0;";  
   
  //   Create   connection   object   by   using   the   preceding   connection   string.  
  OleDbConnection   objConn   =   new   OleDbConnection(sConnectionString);  
   
  //   Open   connection   with   the   database.  
  objConn.Open();  
   
  //   The   code   to   follow   uses   a   SQL   SELECT   command   to   display   the   data   from   the   worksheet.  
   
  //   Create   new   OleDbCommand   to   return   data   from   worksheet.  
  OleDbCommand   objCmdSelect   =new   OleDbCommand("SELECT   *   FROM   myRange1",   objConn);  
   
  //   Create   new   OleDbDataAdapter   that   is   used   to   build   a   DataSet  
  //   based   on   the   preceding   SQL   SELECT   statement.  
  OleDbDataAdapter   objAdapter1   =   new   OleDbDataAdapter();  
   
  //   Pass   the   Select   command   to   the   adapter.  
  objAdapter1.SelectCommand   =   objCmdSelect;  
   
  //   Create   new   DataSet   to   hold   information   from   the   worksheet.  
  DataSet   objDataset1   =   new   DataSet();  
   
  //   Fill   the   DataSet   with   the   information   from   the   worksheet.  
  objAdapter1.Fill(objDataset1,   "XLData");  
   
  //   Bind   data   to   DataGrid   control.  
  DataGrid1.DataSource   =   objDataset1.Tables[0].DefaultView;  
  DataGrid1.DataBind();  
   
  //   Clean   up   objects.  
  objConn.Close();  
   
     
  13.   在文件菜单中,单击全部保存来保存项目文件。    
  14.   在生成菜单上,单击生成以生成项目。这就准备好了代码隐藏页中的代码,使之能够执行了。    
  15.   在解决方案资源管理器中,右键单击   WebForm1.aspx,然后单击在浏览器中查看以运行代码。    
  返回页首  
   
  其他代码说明  
  本文中的示例代码使用   Microsoft   Jet   OLE   DB   提供程序访问   Excel   工作表。此代码使用以下连接字符串连接到工作表:    
  //   Create   connection   string   variable.   Modify   the   "Data   Source"  
  //   parameter   as   appropriate   for   your   environment.  
  String   sConnectionString   =   "Provider=Microsoft.Jet.OLEDB.4.0;"   +  
  "Data   Source="   +   Server.MapPath("../ExcelData.xls")   +   ";"   +  
  "Extended   Properties=Excel   8.0;";  
   
  正如注释中所描述的那样,必须修改特定   Excel   工作表的路径信息。此外,还必须设置   Extended   Properties   参数的值,以便正确地连接到文件。  
   
  注意,连接字符串使用   Server.MapPath   函数。此函数使用文件相对于   Microsoft   Internet   信息服务   (IIS)   的路径,并返回该文件的硬盘路径。例如,在创建示例   Excel   工作表   部分中,您在   Web   根目录中创建了   ExcelData.xls,该目录通常位于   C:\Inetpub\Wwwroot。这还会在   Wwwroot   文件夹中创建名为   ExcelCSTest   的子文件夹,并在   ExcelCSTest   文件夹中创建名为   WebForm1.aspx   的文件。  
   
  在此示例中,硬盘上的文件路径如下:    
  C   驱动器  
  -   Inetpub  
  -   Wwwroot(其中包含   ExcelData.xls)  
  -   ExcelCSTest(包含   WebForm1.aspx)  
   
  文件的   IIS   路径如下所示:    
  Web   根目录(其中包含   ExcelData.xls)  
  -   ExcelCSTest(包含   WebForm1.aspx)  
   
  在本例中,WebForm1.aspx   页到   ExcelData.xls   文件的相对   路径为“../ExcelData.xls”。“../”字符通知   IIS   转到上一级文件夹。因此,代码    
  Server.MapPath("../ExcelData.xls")  
   
  返回以下字符串:    
  C:\Inetpub\Wwwroot\ExcelData.xls    
  您无需使用   Server.MapPath。您也可以将此信息硬编码为一个特定的路径,或使用任何方法提供该   Excel   文件在硬盘上的位置。  
  Top

3 楼litp(天道酬勤)回复于 2005-04-01 09:11:40 得分 0

给你一个我昨天改别人的一个导excel入sql数据库的我正用的程序,是button1按钮一点就开始导入,我导的是excel是第二三colum..如下:  
   
  private   void   Button1_Click(object   sender,   System.EventArgs   e)  
  {  
   
   
  string   mystring="Provider   =   Microsoft.Jet.OLEDB.4.0   ;   Data   Source   =   'D:/ExportToExcel/excel/test.xls';Extended   Properties=Excel   8.0";  
  OleDbConnection   cnnxls   =   new   OleDbConnection   (mystring);  
  OleDbDataAdapter   myDa   =new   OleDbDataAdapter("select   *   from   [Sheet1$]",cnnxls);  
  DataSet   myDs   =new   DataSet();  
  myDa.Fill(myDs);  
   
  if(myDs.Tables[0].Rows.Count   >   0)  
  {  
  string   strSql   =   "";  
  string   CnnString="Provider=SQLOLEDB;database=testnews;server=(local);uid=sa;pwd=";  
  OleDbConnection   conn   =new   OleDbConnection(CnnString);  
  conn.Open   ();  
  OleDbCommand   myCmd   =null;  
   
  for(int   i=0;   i<myDs.Tables[0].Rows.Count;   i++)  
  {  
  strSql="insert   into   news(title,body)   values   ('";  
  strSql   +=   myDs.Tables[0].Rows[i].ItemArray[1].ToString()   +   "',   '";  
  strSql   +=   myDs.Tables[0].Rows[i].ItemArray[2].ToString()   +   "')";  
   
  try  
  {  
  myCmd=new   OleDbCommand(strSql,conn);  
  myCmd.ExecuteNonQuery();  
  Label8.Text   =   "<script   language=javascript>alert('数据导入成功.');</script>";  
  }  
  catch  
  {  
  Label8.Text   =   "<script   language=javascript>alert('数据导入失败.');</script>";  
  }  
  }  
  conn.Close();  
  }  
   
  }  
  }  
  Top

4 楼lufly2000(凌绝顶)回复于 2005-04-19 00:51:10 得分 0

其实思想就是将Excel读入DataTable,然后在DataTable中读取需要的行/列数据,插入到数据库。Top

5 楼liulif(学习三个DB)回复于 2005-04-21 14:55:27 得分 0

但是现实中读取的excel表会在任何路径不可能在固定的地方,而sheet的名称也不会是固定的,请各位给出解决方法Top

相关问题

  • 导入EXCEL进数据库!
  • Excel导入sql数据库
  • excel 如何导入数据库中
  • 将Excel导入数据库问题??
  • Excel导入数据库问题
  • 将EXCEL文件导入数据库
  • EXCEL数据导入数据库问题??? 高分求教!!!
  • 怎样将EXCEL数据导入数据库
  • 如何将Excel中的数据导入Access2000数据库中?
  • 如何将excel格式的数据导入到数据库中?

关键词

  • .net
  • asp.net
  • visual c#
  • excel
  • 数据
  • 文件
  • 谢谢
  • 对象

得分解答快速导航

  • 帖主:blogkevin

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo