c#.net excel文件导入到数据库 之一
2013-11-29 16:25
405 查看
本文为序列文章,总共分为以下四部分,本文为第一部分。
目 的:
1. excel文件导入到数据库;
2. 添加导入数据时间进度条,实时动态显示;
3. 对excel文件进行分析,显示本excel文件存在多少条数据等信息;
4. 返回导入的结果,如:有多少条数据导入成功,多少条失败。
语 言:
C#.net, sql
开发环境:
vs2010, sql server 2008 r2,,excel 2013
我们采用快速原型模型(Rapid
Prototype Model)方法,所以第一步的目的即是能从网页导入数据。我们先看看第一步完成之后的结果,图1。
图1.第一步的最终界面显示
在图1中,我们选择文件,然后点击导入,即可。当然这个界面实在有点丑,没办法,大家忍一下。
现在详细解释如何导入数据,一步一步的来。
1.建立数据库
首先我们建立一个数据库,名字为ExcelImport,这个就不用解释了吧!
其次在ExcelImport下建立表,表名为tStudent。代码如下:
2.建立一个c#.net网站项目,新建一个网页,如图,选择红方框内的,然后取你一个你喜爱的名字吧,比如我的就是index.aspx。
3.在第二步中的页面中添加两个控件,一个FileUpload,用作文件选择之用;另一个为Button,以作数据输入之用,并添加鼠标事件onclick="Button1Click" ,本网页的代码为:
鼠标事件代码(全部),注释很详细:
4.新建一个excel文件,不管是excel 2003还是2007,2013,测试皆可以。
我的excel数据为:
好啦,运行一下看看吧
参考资料:
How to import MS Excel data to SQL Server table using c#.net.pdf
目 的:
1. excel文件导入到数据库;
2. 添加导入数据时间进度条,实时动态显示;
3. 对excel文件进行分析,显示本excel文件存在多少条数据等信息;
4. 返回导入的结果,如:有多少条数据导入成功,多少条失败。
语 言:
C#.net, sql
开发环境:
vs2010, sql server 2008 r2,,excel 2013
我们采用快速原型模型(Rapid
Prototype Model)方法,所以第一步的目的即是能从网页导入数据。我们先看看第一步完成之后的结果,图1。
图1.第一步的最终界面显示
在图1中,我们选择文件,然后点击导入,即可。当然这个界面实在有点丑,没办法,大家忍一下。
现在详细解释如何导入数据,一步一步的来。
1.建立数据库
首先我们建立一个数据库,名字为ExcelImport,这个就不用解释了吧!
其次在ExcelImport下建立表,表名为tStudent。代码如下:
CREATE TABLE tStudent (
Student VARCHAR(64),
RoleNO VARCHAR(16),
Course VARCHAR(32),
)
2.建立一个c#.net网站项目,新建一个网页,如图,选择红方框内的,然后取你一个你喜爱的名字吧,比如我的就是index.aspx。
3.在第二步中的页面中添加两个控件,一个FileUpload,用作文件选择之用;另一个为Button,以作数据输入之用,并添加鼠标事件onclick="Button1Click" ,本网页的代码为:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="ExcelToSql.index" %> <!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 runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:FileUpload ID = "FileUpload1" runat = "server" /> <asp:Button ID="Button1" runat="server" onclick="Button1Click" Text="导入" /> </div> </form> </body> </html>
鼠标事件代码(全部),注释很详细:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.OleDb; using System.Data.SqlClient; namespace ExcelToSql { public partial class index : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1Click(object sender, EventArgs e) { //取得绝对路径 string path = Server.MapPath(FileUpload1.PostedFile.FileName); //判断是否选择了文件 if (FileUpload1.HasFile) { ImportDataFromExcel(path); } else { //弹出提示框 Response.Write( "<script>alert('亲,先选择文件!')</script>"); } } public void ImportDataFromExcel(string excelfilepath) { //要插入数据的数据库中的表名,在第二步中建立的表 string sqltable = "tStudent"; // 从excel中选择要插入的表项 string myexceldataquery = "select Student,RoleNO,Course from [Sheet1$]"; try { //excel文件连接代码 string excelConnectionString = @"provider=microsoft.jet.oledb.4.0;data source=" + excelfilepath + ";extended properties=" + "\"excel 8.0;hdr=yes;\""; //数据库连接代码,其中server的.表示本机,其他的为用户名和密码 string sqlConnectionString = "Server=.; User Id=sa; Pwd=sa1; database=ExcelImport; connection reset=false"; ////删除之前插入的数据 //string clearSql = "delete * from " + sqltable; //SqlConnection sqlConn = new SqlConnection(sqlConnectionString); //SqlCommand sqlCmd = new SqlCommand(clearSql, sqlConn); //sqlConn.Open(); //sqlCmd.ExecuteNonQuery(); //sqlConn.Close(); //从excel中导入数据到database OleDbConnection oledbconn = new OleDbConnection(excelConnectionString); OleDbComm c156 and oledbcmd = new OleDbCommand(myexceldataquery, oledbconn); oledbconn.Open(); OleDbDataReader dr = oledbcmd.ExecuteReader(); SqlBulkCopy bulkcopy = new SqlBulkCopy(sqlConnectionString); bulkcopy.DestinationTableName = sqltable; while (dr.Read()) { bulkcopy.WriteToServer(dr); } oledbconn.Close(); } catch (Exception ex) { //出错信息显示 Response.Write("<script>alert("+ex.ToString()+")</script>"); } } } }
4.新建一个excel文件,不管是excel 2003还是2007,2013,测试皆可以。
我的excel数据为:
Student | RoleNO | Course |
Student1 | ELS-21 | BE |
Student2 | ELS-22 | BE |
Student3 | ELS-23 | BE |
Student4 | ELS-24 | BE |
Student5 | ELS-25 | BE |
Student6 | ELS-26 | BE |
Student7 | ELS-27 | BE |
参考资料:
How to import MS Excel data to SQL Server table using c#.net.pdf
相关文章推荐
- C# .Net :Excel NPOI导入导出操作教程之将Excel文件读取并写到数据库表,示例分享
- 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中)
- 【C#.NET】将excel或将CSV文件中的sheet1导入到dataGridView1中 ,或者导入到DataTable,导入到DataSet
- 用C#.net编写导入导出EXCEL文件的代码。编绎运行后,错误提示: 找不到可安装的ISAM
- ASP.NET 从Excel文件导入数据到数据库
- [转] 从数据库中读取图片并导入Excel文件,C#方式
- ASP.NET 从Excel文件导入数据到数据库(笔记)
- ASP.NET MVC导入excel到数据库,下载文件
- B/S结构,Web环境下的Excel文件导入数据库(C#) (ZT)
- C# 或Asp.Net 将excel表格导入数据库 ····················
- C# 导入Excel文件和数据库文件的对比
- c# .Net :Excel NPOI导入导出操作教程之数据库表信息数据导出到一个Excel文件并写到磁盘示例分享
- c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出
- C# 或Asp.Net 将excel表格导入数据库
- C# ASP.NET CSV文件导入数据库(转)
- 将Excel内容导入数据库(ASP.NET/C#)
- 在ASP.NET中将Excel文件中数据导入数据库并显示进度条
- 将Excel文件导入到Asp.net后台数据库中
- C# 或Asp.Net 将excel表格导入数据库
- C# ASP.NET CSV文件导入数据库