ASP.NET将EXCEL导入SQL SERVER数据库的代码
2007-11-13 10:36

在网上找到一个Asp.Net将Excel数据导入Sql Server数据库的的例子,是调用存储过程的,大家分享.

我刚用过,感觉还可以。其基本思想是先新建一个页面,放一个HTML控件 File FIled 控件,然后将这个控件转化为服务器控件,    再放一个按钮(服务器控件)用来获取File FIled中的内容,接下来就是在后台编程了,首先引入两个命名空间,using System.data.oledb和using system.data.sqlclint 其中oledb空间用来提供Excel的驱动,sqlclint用来连接sql server 2000用,接下来就可以在按钮事件中把下面的代码搞上去就行了,对了还要编写自己的存储过程哦!

前言:cmd.CommandText="Proc_Address";这句话是调用存储过程"Proc_Address"
该存储过程代码为:
CREATE Proc Proc_Address @CardNo char(20),@ToAddress char(50),@CCAddress char(50) ,@YYYYMM char(12)
as
declare @strSql      char (400)

set @strSql = 'Insert into EmailAddress' + @YYYYMM + ' values(''+@CardNo+'',''+@ToAddress+'',''+@CCAddress+'',''+'1')'      --插入一条记录
exec (@strSql)                                                                       --也可以用insert into 语句
GO

private void Button1_Click(object sender, System.EventArgs e)
{
CreateTable();

//先将EXCEL导入到数据库,一:先把EXCEL导入dateView,二:然后将dateView里的数据导入到数据库里面

//EXCEL 的连接串
string sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + File1.PostedFile.FileName.ToString() + ";" +
"Extended Properties=Excel 8.0;";

//建立EXCEL的连接
OleDbConnection objConn = new OleDbConnection(sConnectionString);

objConn.Open();

OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM [Sheet1$]", objConn);
OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
objAdapter1.SelectCommand = objCmdSelect;

DataSet objDataset1 = new DataSet();

objAdapter1.Fill(objDataset1, "XLData";

// DataGrid1.DataSource = objDataset1.Tables[0].DefaultView; //测试代码,用来测试是否能读出EXCEL上面的数据
// DataGrid1.DataBind();

DataTable dt = objDataset1.Tables[0];
DataView myView = new DataView(dt);

//SQL SERVER的数据库连接
SqlConnection conn;
string dns =System.Configuration.ConfigurationSettings.AppSettings["ConStr"];//连接串
conn=new SqlConnection(dns);

SqlCommand cmd =conn.CreateCommand();
cmd.CommandType =CommandType.StoredProcedure;
cmd.CommandText="Proc_Address";

int count=0;//用来记录出错的条数

try
{
foreach (DataRowView myDrv in myView)
{
count++;
//要关闭上一次的SQL Server的连接
if (conn.State.ToString()!="Closed"
conn.Close();

//每一次都要清空所有的CMD的参数
cmd.Parameters.Clear();

//执行存储过程
//首先获得参数 共 3个
//@CardNo,@ToAddress,@CCAddress
SqlParameter paraCardNo =cmd.Parameters.Add("@CardNo",SqlDbType.Char);
SqlParameter paraToAddress =cmd.Parameters.Add("@ToAddress",SqlDbType.Char);
SqlParameter paraCCAddress =cmd.Parameters.Add("@CCAddress",SqlDbType.Char);
SqlParameter paraYYYYMM =cmd.Parameters.Add("@YYYYMM",SqlDbType.Char);

//表示是输出参数
paraCardNo.Direction = ParameterDirection.Input;
paraToAddress.Direction = ParameterDirection.Input;
paraCCAddress.Direction = ParameterDirection.Input;
paraYYYYMM.Direction = ParameterDirection.Input;

//参数赋值
paraCardNo.Value = myDrv[0].ToString().Trim();
paraToAddress.Value = myDrv[1].ToString().Trim();
paraCCAddress.Value = myDrv[2].ToString().Trim();
paraYYYYMM.Value = ddlYear.Items[ddlYear.SelectedIndex].Value + ddlMonth.Items[ddlMonth.SelectedIndex].Value;

conn.Open();
cmd.ExecuteNonQuery();//写入SQL数据库
}
}
catch
{
Page.Response.Write("alert('第"+count.ToString()+"条数据出错!');";
objConn.Close();//关闭EXCEL的连接
}

objConn.Close();//关闭EXCEL的连接

ASP.NET将EXCEL导入SQL SERVER数据库的代码相关推荐

  1. Excel导入SQL server数据库e日期格式转换失败

    数据库提示: Conversion failed when converting date and/or time from character string. The statement has b ...

  2. 将Excel数据导入SQL Server数据库

    遇到了一个需求,需要将Excel中的数据导入SQL Server数据库中,当然,不是使用企业管理器之类的直接导入数据的那种,而是要做到程序中.本来我最初的考虑是将Excel中的数据读到dataset中 ...

  3. 如何将数据从Excel文件导入SQL Server数据库

    There are many ways to import data from an Excel file to a SQL Server database using: 有多种方法可以使用以下方法将 ...

  4. python怎么导入sql数据库,##使用python将excel表中数据导入sql server数据库

    如何用python将excel数据导入到postgresql数据库中 把excel表格另存为csv文件 python将exce文件含有多个sheet同时l导入sqlserver数据库 需要使用xlrd ...

  5. Excel导入sql server 2005错误0xc00470fe数据流任务产品级别对于组件源-Sheet1$(1)而言不足

    Excel导入sql server 2005错误0xc00470fe数据流任务产品级别对于组件源-Sheet1$(1)而言不足 将Excel 导入sql server 2005数据库时, 提示: &q ...

  6. 【ASP.NET】VS2015连接SQL Server数据库,实现登录、注册

    文章目录 1. 实验目标 2. 难点 3. 问题 3.1 SQL Server 3.2 Demo练习 3.3 编写页面时的错误 4. 总结 5. 页面 6. 主要代码 [ASP.NET]VS2015连 ...

  7. 在ASP.NET中将图片存储到Sql Server数据库中

    在ASP.NET中将图片存储到Sql Server数据库中 http://hi.baidu.com/rayshow/blog/item/360e8ff9662c8b5a252df268.html 索引 ...

  8. ASP.NET备份与还原SQL Server数据库

    ASP.NET备份与还原SQL Server数据库 1.备份 SqlConnection connection = new SqlConnection(ConfigurationManager.App ...

  9. 如何使用导入平面文件向导将平面文件导入SQL Server数据库

    Import Flat File wizard is a new feature implemented in SQL Server Management Studio (SSMS) v17.3 fo ...

最新文章

  1. 各种主流 SQLServer 迁移到 MySQL 工具对比
  2. Pair Project: Elevator Scheduler Report By Hu Renjun
  3. hive mysql hdfs关系_Hive中的数据库、表、数据与HDFS的对应关系
  4. java方法带参数返回值_Java方法中的参数太多,第6部分:方法返回
  5. vscode标记_高效扩展工具让 VS Code 如虎添翼
  6. php网页表格样式,HTML5制作表格样式
  7. 【Python】Matplotlib绘制蓝天下的普通房屋
  8. 小汤学编程之JavaEE学习day07——版本控制工具:SVN、GIT
  9. 公开标准不赚钱,认证赚大钱
  10. Cognitive Radio Technology认知无线电技术简述
  11. 利用matlab符号变量进行矩阵乘法公式推导
  12. 微信卡券管理 - 修改卡券基本信息
  13. HDU 6437 最小费用最大流
  14. 数据价值挖掘利器!阿里云实时数仓AnalyticDB PG
  15. bzoj4448(LCT)
  16. 软件测试岗位具体是做什么的?
  17. iis8+php环境搭建问题
  18. 生物制剂时代的SpA研究正站在十字路口_Appel,Sieper2009
  19. 当我知道这些网址以后,我后悔以前没有好好学
  20. python-docx 设置Table 边框样式、单元格边框样式

热门文章

  1. SQL Server计算汉字笔画部首
  2. 一个监测TCP阻断的小工具
  3. C#开发WAP程序(转)
  4. 百度影音只有图像没有声音怎么解决
  5. 微信灰度上线“分付” 支付宝的优势地位会被撼动吗?
  6. 黑衣剑士查询账号所在服务器,刀剑神域黑衣剑士王牌服务器维护进不去解决方法...
  7. galaxy s8 android8.0,【三星资讯】三星终于正式升级安卓8.0!Galaxy S8尝鲜
  8. 能力跃迁体系:如何系统化提升自己的能力
  9. linux矢量图像编辑,Inkscape 1.0发布,开源矢量图形编辑器重要版本
  10. linux 指令学习(持续更新)