C#中excel导入sql
using Microsoft.Office.Interop.Excel; public int ledinExcel(string file, object sender, EventArgs e)
{
//try
//{
System.Data.DataTable dt = xsldata(file);
int errorcount = ;
int insertcount = ;
//int updatecount = 0; //string strcon = "server=ROCKEN;database=checkatt;uid=sa;pwd=000123";
//SqlConnection conn = new SqlConnection(strcon);
//conn.Open();
for (int i = ; i < dt.Rows.Count; i++)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into checkatt.DBO.att_table (Person_num,Per_name,Work_att,Up1,Off2,Up3,Off4,Up5,Off6)");
strSql.Append(" VALUES (@Person_num,@Per_name,@Work_att,@Up1,@Off2,@Up3,@Off4,@Up5,@Off6)");
SqlParameter[] praexcel = {
new SqlParameter("@Person_num", SqlDbType.Int),
new SqlParameter("@Per_name", SqlDbType.NVarChar,),
new SqlParameter("@Work_att", SqlDbType.Date),
new SqlParameter("@Work_lable", SqlDbType.NVarChar,),
new SqlParameter("@Up1", SqlDbType.Time),
new SqlParameter("@Off2", SqlDbType.Time),
new SqlParameter("@Up3", SqlDbType.Time),
new SqlParameter("@Off4", SqlDbType.Time),
new SqlParameter("@Up5", SqlDbType.Time),
new SqlParameter("@Off6", SqlDbType.Time)};
praexcel[].Precision = ;
praexcel[].Precision = ;
praexcel[].Precision = ;
praexcel[].Precision = ;
praexcel[].Precision = ;
praexcel[].Precision = ; praexcel[].Value = dt.Rows[i][];
praexcel[].Value = dt.Rows[i][].ToString();
praexcel[].Value = Convert.ToDateTime(dt.Rows[i][].ToString());
praexcel[].Value = dt.Rows[i][];
if (dt.Rows[i][].ToString().Length == )
{
praexcel[].Value = DBNull.Value;
}
else if (dt.Rows[i][].ToString().Length > )
{
if (string.IsNullOrEmpty(dt.Rows[i][].ToString().Trim()))
{
praexcel[].Value = DBNull.Value;
}
else
{
praexcel[].Value = dt.Rows[i][].ToString().Trim();
} }
else
{
praexcel[].Value = dt.Rows[i][];
}
//
if (dt.Rows[i][].ToString().Length == )
{
praexcel[].Value = DBNull.Value;
}
else if (dt.Rows[i][].ToString().Length > )
{
if (string.IsNullOrEmpty(dt.Rows[i][].ToString().Trim()))
{
praexcel[].Value = DBNull.Value;
}
else
{
praexcel[].Value = dt.Rows[i][].ToString().Trim();
}
}
else
{
praexcel[].Value = dt.Rows[i][];
}
//
if (dt.Rows[i][].ToString().Length == )
{
praexcel[].Value = DBNull.Value;
}
else if (dt.Rows[i][].ToString().Length > )
{
if (string.IsNullOrEmpty(dt.Rows[i][].ToString().Trim()))
{
praexcel[].Value = DBNull.Value;
}
else
{
praexcel[].Value = dt.Rows[i][].ToString().Trim();
}
}
else
{
praexcel[].Value = dt.Rows[i][];
}
//
if (dt.Rows[i][].ToString().Length == )
{
praexcel[].Value = DBNull.Value;
}
else if (dt.Rows[i][].ToString().Length > )
{
if (string.IsNullOrEmpty(dt.Rows[i][].ToString().Trim()))
{
praexcel[].Value = DBNull.Value;
}
else
{
praexcel[].Value = dt.Rows[i][].ToString().Trim();
}
}
else
{
praexcel[].Value = dt.Rows[i][];
}
//
if (dt.Rows[i][].ToString().Length == )
{
praexcel[].Value = DBNull.Value;
}
else if (dt.Rows[i][].ToString().Length > )
{
if (string.IsNullOrEmpty(dt.Rows[i][].ToString().Trim()))
{
praexcel[].Value = DBNull.Value;
}
else
{
praexcel[].Value = dt.Rows[i][].ToString().Trim();
}
}
else
{
praexcel[].Value = dt.Rows[i][];
}
//
if (dt.Rows[i][].ToString().Length == )
{
praexcel[].Value = DBNull.Value;
}
else if (dt.Rows[i][].ToString().Length > )
{
if (string.IsNullOrEmpty(dt.Rows[i][].ToString().Trim()))
{
praexcel[].Value = DBNull.Value;
}
else
{
praexcel[].Value = dt.Rows[i][].ToString().Trim();
}
}
else
{
praexcel[].Value = dt.Rows[i][];
}
//if (dt.Rows[i][5].ToString().Length == 0) { praexcel[5].Value = DBNull.Value; } else { praexcel[5].Value = dt.Rows[i][5]; }
//if (dt.Rows[i][6].ToString().Length == 0) { praexcel[6].Value = DBNull.Value; } else { praexcel[6].Value = dt.Rows[i][6]; }
//if (dt.Rows[i][7].ToString().Length == 0) { praexcel[7].Value = DBNull.Value; } else { praexcel[7].Value = dt.Rows[i][7]; }
//if (dt.Rows[i][8].ToString().Length == 0) { praexcel[8].Value = DBNull.Value; } else { praexcel[8].Value = dt.Rows[i][8]; }
//if (dt.Rows[i][9].ToString().Length == 0) { praexcel[9].Value = DBNull.Value; } else { praexcel[9].Value = dt.Rows[i][9]; }
//praexcel[4].Value = dt.Rows[i][4];dt.Rows[i][9].ToString().Trim()
//praexcel[5].Value = dt.Rows[i][5];
//praexcel[6].Value = dt.Rows[i][6];
//praexcel[7].Value = dt.Rows[i][7];
//praexcel[8].Value = dt.Rows[i][8];
//praexcel[9].Value = dt.Rows[i][9];
//MessageBox.Show(dt.Rows[i][1].ToString() + dt.Rows[i][2].ToString());
try
{
if (SqlHelper.ExecuteNonQuery(CommandType.Text, strSql.ToString(), praexcel) > )
{ insertcount++; }
else
{
errorcount++;
}
}
catch (Exception ex)
{
MessageBox.Show("导入成功:" + insertcount.ToString() + "条数据; 共" + dt.Rows.Count.ToString() + "条记录");
return insertcount;
}
}
MessageBox.Show("导入成功:"+insertcount.ToString()+"条数据; 失败"+errorcount.ToString());
return insertcount;
//}
//catch (Exception ex)
//{
//Console.Write(ex.Message);
// return insertcount;
//}
}
C#中excel导入sql的更多相关文章
- excel导入sql server 文本被截断,或者一个或多个字符在目标代码页中没有匹配项 错误处理
excel导入sql server 文本被截断,或者一个或多个字符在目标代码页中没有匹配项 错误处理方法: 方案1:修改注册表 出现文本被截断的原因是SQL Server的导入导出为了确定数据表的字段 ...
- 把Excel导入SQL server时出现错误
在把Excel导入SQL server时出现“未在本地计算机上注册 Microsoft.ACE.OLEDB.12.0 ”该 错误信息:未在本地计算机上注册“microsoft.ACE.oledb.12 ...
- 转:Excel导入SQL数据库完整代码
Excel导入SQL数据库完整代码 protected void studentload_Click(object sender, EventArgs e) {//批量添加学生信息 SqlConnec ...
- excel文档中数据导入sql server注意事项
进来经常需要对一些基础数据进行更新,而业务方提供的数据源往往都是excel,所以经常需要将excel中数据导入到 数据库临时表,然后再进行处理. 在导入过程中,发现有些数据比如手机号码,如果默认导入, ...
- JeeSite中Excel导入导出
在各种管理系统中,数据的导入导出是经常用到的功能,通常导入导出以Excel.CSV格式居多.如果是学习的过程中,最好是自己实现数据导入与导出的功能,然而在项目中,还是调用现成的功能比较好.近期一直使用 ...
- workbench中如何导入.sql文件
在做电商管理系统的时候,需要使用 mysql 中的数据,在执行 app.js 文件时出现错误 于是将 mydb.sql 导入到workbench中,步骤如下: 1. 打开 workbench 软件,选 ...
- SQL语句:把Excel文件中数据导入SQL数据库中的方法
1.从Excel文件中,导入数据到SQL数据库情况一.如果接受数据导入的表不存在 select * into jd$ from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ...
- Excel 导入 Sql Server出错——“文本被截断,或者一个或多个字符在目标代码页中没有匹配项”错误的解决
有人说应该先转成Access, 再转到Sql Server. 其实用处并不大, 要截断的还是被截断了. 原因是,SQL Server的导入导出为了确定数据表的字段类型,取excel文件的前8行来判别. ...
- 将Excel导入SQL Server 只能导入数字,其他数据变为NULL怎么解决?
先新建一个TXT文件,把数据粘贴进去 再新建一个Excel文件,在菜单栏中选Data再选From Text 找到txt文件,点import 一定要选Text 点Finish,点OK. 接下来在往数据库 ...
随机推荐
- android自定义activity
今天公司有个需要需要自动弹出界面,而dialog又不符合要求,所以自定义的一个activity的样式 首先在androidmainfest.xml上注册你的activity <activity ...
- Android开发小问题记录
安卓资源文件无法命名大写字母,否则导致不会生成R类!!! 资源文件的命名容许的字符为“a-z0-9_.”,即只容许有小写字母,数字0-9,下划线和点 Notification不显示 有些手机会对not ...
- HtmlHelper用法大全
HTML扩展类的所有方法都有2个参数: 以textbox为例子 public static string TextBox( this HtmlHelper htmlHelper, string nam ...
- Java中Date的比较(befor与after方法的缺陷)
java.util.Date中的before和after方法只会比较到Day,不管你的date是yyyy-MM-dd HH:mm:ss还是yyyy-MM-dd格式的.最好用getTime()来比较具体 ...
- linux screen 命令详解[转]
一.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远 ...
- 0011《SQL必知必会》笔记07 数据的插入、更新和删除
1.插入完整的行或一部分:INSERT INTO 表名(列名1-n) VALUES (对应的值1-n) INSERT INTO products(prod_id, vend_id, prod_name ...
- HTML5游戏开发引擎,初识CreateJS
CreateJS为CreateJS库,可以说是一款为HTML5游戏开发的引擎.打造 HTML5 游戏,构建新游戏,提供构建最新 HTML5 的技术.你可以通过这个网站学习如何构建跨平台和跨终端游戏.这 ...
- SQL Server调优系列基础篇(并行运算总结)
前言 上三篇文章我们介绍了查看查询计划的方式,以及一些常用的连接运算符.联合运算符的优化技巧. 本篇我们分析SQL Server的并行运算,作为多核计算机盛行的今天,SQL Server也会适时调整自 ...
- STL——遍历 删除 set 元素
==================================声明================================== 本文版权归作者所有. 本文原创,转载必须在正文中显要地注明 ...
- Java基础语法总结1
一.标识符及字符集 Java语言规定标识符是以字母.下划线"_"或美元符号"$"开始,随后可跟数字.字母.下划线或美元符号的字符序列.Java标识符大小写敏感, ...