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. 接下来在往数据库 ...
随机推荐
- 【代码笔记】iOS-缓存路径操作类
一,代码. AppDelegate.h #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplica ...
- 【代码笔记】iOS-和当前时间比较
代码: #import "RootViewController.h" @interface RootViewController () @end @implementation R ...
- android 数据存储Ⅰ
本章讲述在Android开发中,简单的数据存储.涉及知识主要是SharedPreferences,及多页面切换ViewPager. 1.功能需求 做一个小应用.启动的时候有左右引导图.只有第一次启动时 ...
- IOS中十六进制的颜色转换为UIColor
IOS中十六进制的颜色转换为UIColor #pragma mark - 颜色转换 IOS中十六进制的颜色转换为UIColor + (UIColor *) colorWithHexString: (N ...
- GitHub Top 100 的项目(iOS)
主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况. Android 版本的在此: https://gith ...
- SQL并行与否的性能差异
比较两种代码,核心代码相同,其中一个使用变量保存查询出的结果,另一个直接输出.使用同一变量时,强迫SQL放弃了并行,使用了循环. 测试结果 表'#1699586C'.扫描计数1,逻辑读取186 次 ...
- 学习 jsonp
1.起因 js脚本做ajax异步调用的时候,直接请求普通文件存在跨域无权限访问的问题,不管你是静态页面.动态网页.web服务,只要是跨域请求,都无法成功: 如果上句话没明白,我们直接看例子.有两个一模 ...
- @在php中的作用
@是PHP提供的错误信息屏蔽的专用符号. 使用@mysql_query 不会出现Warning,而原来mysql_query 在遇到错误时会在页面上访提示Warning. 看PHP的代码,总有些行前边 ...
- git技巧记录--子模块删除方法
把子模块推进去了,删掉吧(将子模块删除,然后提交推送),删除子模块步骤: 1.在Platform.Web库下,右键->Git Bash,进入git命令行窗口,输入:git rm –-cached ...
- 【JSP】JSP基础学习记录(四)—— Servlet
序: 众所周知JSP的基础也就是Servlet,如果单纯用Servlet类来响应用户的HTTP请求可以吗?答案是肯定的.JSP中的9个内置对象只是自动帮我们初始化的,没有他们一样可以实现web.只是工 ...