用代码将Excel数据导入Sql Server
这里直接用小例子说明。
1、打开VS2010—>文件—>新建—>网站,选择ASP.NET空网站并设置存放路径以创建空网站。(我这里路径设置为D:\excelEduceToSql)
2、创建数据库test并在test数据库中创建my_test表(我这里在excelEduceToSql文件夹中创建SQL文件夹并将数据库保存在里面)。
(表的字段如下:)
tid(int)
tname(nvarchar(50))
tt(nvarchar(50))
3、创建Excel表(我这里的Excel表的文件名为test.xls)。要注意的是:Excel中第一行是定义的是列名,从第2行开始才是数据,通过Sql语句从Excel中读取到的数据也是 从第二行开始的。
(Excel表设计如下:)
编号 姓名 备注
1 a aa
2 b bb
3 c cc
4、在第1步的基础上右键—>添加新项,选择Web窗体并命名(我这里按默认的名称Default.aspx)。在设计页面中双击或拉取左边工具箱中的button控件并修改右边属性 中的Text属性为“导入”,双击导入按钮进入Default.aspx.cs文件的代码编写。
5、代码编写如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
public SqlConnection con()
{
return new SqlConnection("server=.;uid=sa; pwd=sa;database=test");这里需要注意的是server、uid、pwd、database分别为你的数据库。
}
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection mycon = con();
string sqlstr="insert into my_test select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=YES;DATABASE=D:\\excelEduceToSql\\Excel\\test.xls',sheet1$)";这里需要注意的是Excel文件的路径需要用双斜杠来分隔,否则会出错。
SqlCommand cmd = new SqlCommand(sqlstr, mycon);
mycon.Open();
cmd.ExecuteNonQuery();
mycon.Close();
}
}
6、在Sql Server中点击新建查询,输入如下代码并点击执行:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
go
当然这里也可以写在项目程序中执行即可
7、Ctrl+F5运行即可。这里需要注意的是运行是不可打开Excel文件,否则会报错。
若有错误请指出或直接联系本人QQ:953276191
用代码将Excel数据导入Sql Server的更多相关文章
- Excel数据导入Sql Server,部分数字为Null
在Excel中,我们时常会碰到这样的字段(最常见的就是电话号码),即有纯数字的(如没有带区号的电话号码),又有数字和其它字符混合 (如“区号-电 话号码”)的数据,在导入SQLServer过程中,会发 ...
- Excel数据导入Sql Server出现Null(转)
Excel文件: 序号 姓名 内部电话 住址 1 小李 1234 …… 2 小王 5678 …… 3 小张 2345(国内长途) …… …… …… …… …… 如上结构的Excel文件,用SQL Se ...
- Excel数据导入SQL Server
基本有2种方案,都是无需安装Office的方案 Ole DB读取 + BulkCopy 获取Excel各个SheetName //连接串 string strConn = "Provider ...
- Excel表数据导入Sql Server数据库中
Excel表数据导入Sql Server数据库的方法很多,这里只是介绍了其中一种: 1.首先,我们要先在test数据库中新建一个my_test表,该表具有三个字段tid int类型, tname nv ...
- 极限挑战—C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码)
原文:极限挑战-C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码) 实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本实验将使用5中方法完成这个过程,并详细记录各种方 ...
- Excel 数据导入SQL XML 自动生成表头
去出差的时候应客户要求要要将Excel 文件内的数据批量导入到数据库中,而且有各种不同种类的表格,如果每一个表格多对应一个数据表的话, 按照正常的方法应该是创建数据表,创建数据库中映射的数据模型,然后 ...
- Java代码实现excel数据导入到Oracle
1.首先需要两个jar包jxl.jar,ojdbc.jar(注意版本,版本不合适会报版本错误)2.代码: Java代码 import java.io.File; import java.io.Fi ...
- Access中一句查询代码实现Excel数据导入导出
摘 要:用一句查询代码,写到vba中实现Excel数据导入导出,也可把引号中的SQL语句直接放到查询分析器中执行正 文: 导入数据(导入数据时第一行必须是字段名): DoCmd.RunSQL &quo ...
- Excel文件导入SQL Server数据库
Excel表格的使用可谓是非常广泛,博主也简单百度了一下Excel的发展. 发展历程: 1982年 Microsoft推出了它的第一款电子制表软件-Multiplan,并在CP/M系统上大 Excel ...
随机推荐
- 动态库加载出错,cannot restore segment prot after reloc: Permission denied
转自:taolinke的博客 项目中碰到的问题,编译好的so文件,放到其他机器上去加载,报了错误,cannot restore segment prot after reloc: Permission ...
- c# 串行【序列化】和解串【反序列化】
C# 串行[序列化]和解串[反序列化] 一. 什么是序列化和反序列话呢? 相信我们做程序的都会遇到这种情况,需要将C#中某一个结构很复杂的类的对象存储起来,或者通过网路传输到远程的客户端程序中去, ...
- CF 2013-2014CTS01E04(Killer Challenge-将质因数存在 进行Bitmask)
首先,把P进行质因数分解,每一个不用的质因数压成1位 f[i][j]表示1前i位用j“拥有”的质因数表示. 然后都懂得... #include<cstdio> #include<cs ...
- SeaJS 学习
什么是系统 在生活和工作中,我们会接触到大量系统:自然界生态系统.计算机操作系统.软件办公系统,还有教育系统.金融系统.网络系统.理论系统等等.究竟什么是系统呢? 来看下维基百科的解释: 系统泛指由一 ...
- YTU 2615: AB编程题--世界杯小组赛
2615: AB编程题--世界杯小组赛 时间限制: 1 Sec 内存限制: 128 MB 提交: 100 解决: 35 题目描述 注:本题目自由设计,但必须使用类进行代码设计. 世界杯32支参赛队 ...
- 总结Selenium自动化测试方法(二)测试环境搭建
(接上期内容) 二.测试环境搭建 1.安装python 现在python3.0比python2.0多了一些改进的功能(详见http://zhidao.baidu.com/link?url=3sT1g7 ...
- URAL1091. Tmutarakan Exams(容斥)
1091 容斥原理 #include <iostream> #include<cstdio> #include<cstring> #include<algor ...
- .NET 实现异步处理的集中方式
对于异步,相信大家都不十分陌生.准确点来说就是方法执行后立即返回,待到执行完毕会进行通知.就是当一个任务在执行的时候,尤其是需要耗费很长的时间进行处理的任务,如果利用单线程进行操作的话,势必造成界面的 ...
- java.util.logging.Logger使用详解
一.创建Logger对象 static Logger getLogger(String name) 为指定子系统查找或创建一个 logger. static Logger ge ...
- Kafka的Producer和Consumer源码学习
先解释下两个概念: high watermark (HW) 它表示已经被commited的最后一个message offset(所谓commited, 应该是ISR中所有replica都已写入),HW ...