基于excel导入数据到ms sql server
OLE DB (Object Linking and Embedding, Database, sometimes written as OLEDB or OLE-DB) an API designed by Microsoft providing a set of interfaces that allows accessing data from a variety of sources that do not necessarily implement SQL.
using System;
using System.Data.OleDb;
using System.Data.SqlClient; namespace ExcelMigration
{
class Program
{
static void Main(string[] args)
{
// Excel File Path Location
string excelfilepath = @"C:\Users\rakesh.kumar\Documents\employee.xls"; // SQL Server TableName
string TableName = "Sample"; // Make Sure Your Sheet Name And Columns Names Are Correct, here sheet name is sheet4
string exceldataquery = "select FirstName,LastName,Department,Gender from [Sheet1$]";
try
{
// Excel Connection String and SQL Server Connection String
string excelconnectionstring = @"provider=microsoft.jet.oledb.4.0;
data source=" + excelfilepath +
";extended properties=" + "\"excel 4.0;hdr=yes;\"";
string sqlconnectionstring = @"server=(localdb)\ProjectsV13;
database = TestDB; connection reset = false"; //Execute A Query To Drase Any Previous Data From Employee Table
string deletesqlquery = "delete from " + TableName;
SqlConnection sqlconn = new SqlConnection(sqlconnectionstring);
SqlCommand sqlcmd = new SqlCommand(deletesqlquery, sqlconn); sqlconn.Open();
sqlcmd.ExecuteNonQuery();
sqlconn.Close(); // Build A Connection To Excel Data Source And Execute The Command
OleDbConnection oledbconn = new OleDbConnection(excelconnectionstring);
OleDbCommand oledbcmd = new OleDbCommand(exceldataquery, oledbconn);
oledbconn.Open();
OleDbDataReader dr = oledbcmd.ExecuteReader(); // Connect To SQL Server DB And Perform a Bulk Copy Operation
SqlBulkCopy bulkcopy = new SqlBulkCopy(sqlconnectionstring); // Provide Excel To Table Column Mapping If Any Difference In Name
bulkcopy.ColumnMappings.Add("FirstName", "FirstName");
bulkcopy.ColumnMappings.Add("LastName", "LastName");
bulkcopy.ColumnMappings.Add("Department", "Department");
bulkcopy.ColumnMappings.Add("Gender", "Gender"); // Provide The Table Name For Bulk Copy
bulkcopy.DestinationTableName = TableName; while (dr.Read())
{
bulkcopy.WriteToServer(dr);
} oledbconn.Close();
}
catch (Exception ex)
{
//handle exception
}
}
}
}
http://www.codemog.com/how-to-import-data-from-excel-sheet-into-a-sql-server-database-using-csharp/
基于excel导入数据到ms sql server的更多相关文章
- 使用SqlBulkCopy导入数据至MS SQL Server
原文:使用SqlBulkCopy导入数据至MS SQL Server Insus.NET一直使用表类型来数据入MS SQL Server.参考<存储过程参数为DataTable>http: ...
- Excel导入数据到Sql server 中出错:“文本被截断,或者一个或多个字符在目标代码页中没有匹配项”
从Excel导入数据到Sql server 时,由于表中的数据有的很长,导入时出现如下错误(如果数据不是很长,255内以内,则不会出现错误): 出错原因: SQL Server的导入导出为了确定数据表 ...
- MS SQL SERVER数据导入MySQL
1.sql server导出到xls,再导入到mysql中.亲测,单表数据量到百万以后,导出异常,可能由其它原因导致,没细纠.此种方式需要来回倒腾数据,稍繁琐. 2.采用kettle第三方的ETL工具 ...
- piap.excel 微软 时间戳转换mssql sql server文件时间戳转换unix 导入mysql
piap.excel 微软 时间戳转换mssql sql server文件时间戳转换unix 导入mysql 需要不个mssql的sql文件导入mysql.他们的时间戳格式不同..ms用的是自定义的时 ...
- MS SQL Server数据库修复/MDF数据文件数据恢复/MDF质疑/mdf无法附加
微软的SQL Server 数据库最常用的有两种类型的文件: 1.主要数据文件,文件后缀一般是.MDF: 2.事务日志文件,文件后缀一般是.LDF. 用户数据表.视图.存储过程等等数据,都是存放在MD ...
- Docker-compose搭建ELK环境并同步MS SQL Server数据
前言 本文作为学习记录,供大家参考:一次使用阿里云(Aliyun)1核2G centos7.5 云主机搭建Docker下的ELK环境,并导入MS SQL Server的商品数据以供Kibana展示的配 ...
- MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建
前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候 ...
- elasticsearch与ms sql server数据同步
MS SQL Server Download Elasticsearch Install Elasticsearch Follow instructions on https://www.elasti ...
- 在英文版操作系统中安装的MS SQL server,中文字段无法匹配
在英文版的操作系统中安装的MS SQL server,会出现中文字段无法被匹配到.其原因在于英文环境下安装的MS SQL server的排序规则不包括中文. 所以解决办法就是更改MS SQL serv ...
随机推荐
- 使用FFMPEG 压缩png图片 与tinypng压缩结果对比
Tinypng https://tinypng.com/ 一个在线png压缩工具 FFmpeg https://ffmpeg.org/download.html 原图 903 kb Tinypng压 ...
- jdk8 Optional使用详解
思考: 调用一个方法得到了返回值却不能直接将返回值作为参数去调用别的方法. 原来解决方案: 我们首先要判断这个返回值是否为null,只有在非空的前提下才能将其作为其他方法的参数.这正是一些类似Guav ...
- 部署Maven项目到tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener【转】
部署Maven项目到tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderLi ...
- web项目中nicedit富文本编辑器的使用
web项目中nicedit富文本编辑器的使用 一.为什么要用富文本编辑器? 先说什么是富文本编辑器吧,普通的html中input或textarea标签只能进行简单的输入,而做不到其他的文本调整功能,甚 ...
- spring冲刺第六天
昨天编写地图代码,完善地图界面,使其变得美观. 今天把地图界面初步完成,和其他团队成员的成果进行结合,整合人物和地图代码. 遇到的问题:在整合时遇到的问题比较多,今天没有整合成功.
- 论文《Network in Network》笔记
论文:Lin M, Chen Q, Yan S. Network In Network[J]. Computer Science, 2013. 参考:关于CNN中1×1卷积核和Network in N ...
- lintcode-513-完美平方
513-完美平方 给一个正整数 n, 找到若干个完全平方数(比如1, 4, 9, ... )使得他们的和等于 n.你需要让平方数的个数最少. 样例 给出 n = 12, 返回 3 因为 12 = 4 ...
- Alpha阶段敏捷冲刺④
1.提供当天站立式会议照片一张. 每个人的工作 (有work item 的ID),并将其记录在码云项目管理中: 昨天已完成的工作. 改善界面设计 今天计划完成的工作. 数据库和程序的连接 后端框架的继 ...
- lr常见问题汇总(持续更新版)
在使用mms协议的时候,会碰到报错 Action.c(): 错误: C 解释器运行时错误: Action.c (): Error -- Unresolved symbol : mms_play. 解决 ...
- 使用testng多线程来测试成交编号重复的问题
1.首先编写一个测试用的 function CREATE OR REPLACE FUNCTION getDealmainNo_test(dealdate IN varchar2, productcod ...