//读取excel数据到dataTable里面
public DataTable ReadExcelDataToDataTable(string path)
{
DataTable dt = new DataTable();
string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;data source=" + path + ";Extended Properties='Excel 8.0;Imex=1' ";
OleDbConnection oc = new OleDbConnection(strCon);
oc.Open();
string sql = "select * from [企业登记注册类型代码$]";
OleDbDataAdapter oda = new OleDbDataAdapter(sql,oc);
DataSet ds = new DataSet();
oda.Fill(ds, "data");
oc.Close();
dt = ds.Tables["data"];
dt.Rows.RemoveAt(0);

return dt;
}
//dataTable中的数据写入到数据库中 第一种方式excel中的字段必须与数据库中的字段保持一致
public void WriteToSqlDatabase(string path)
{
SqlBulkCopy sbc = new SqlBulkCopy(conString,SqlBulkCopyOptions.UseInternalTransaction);
sbc.DestinationTableName = "RegistType";//数据库中的表名
DataTable dt = ReadExcelDataToDataTable(path);
sbc.WriteToServer(dt);
}
//dataTable中的数据写入到数据库中 第二种方式
public void WriteDatabase(string path)
{
SqlConnection con = new SqlConnection(conString);
con.Open();
string sql = "insert into RegistType(registId,registTypeName)"+ "values(@registId,@registTypeName)";
SqlCommand insertCommand = new SqlCommand(sql,con);
insertCommand.Parameters.Add("@registId",SqlDbType.VarChar,20,"registId");
insertCommand.Parameters.Add("@registTypeName",SqlDbType.VarChar,50,"registTypeName");
SqlDataAdapter sda = new SqlDataAdapter(insertCommand);
sda.InsertCommand = insertCommand;
DataTable dt = ReadExcelDataToDataTable(path);
sda.Update(dt);
}

//未完整仅供参考

读取excel到数据库里面的更多相关文章

  1. SQLBulkCopy使用实例--读取Excel写入数据库/将 Excel 文件转成 DataTable

    MS SQL Server 提供一个称为 bcp 的流行的命令提示符实用工具,用于将数据从一个表移动到另一个表(表可以在不同服务器上). SqlBulkCopy 类允许编写提供类似功能的托管代码解决方 ...

  2. ThinkPHP3.2.3 PHPExcel读取excel插入数据库

    版本 ThinkPHP3.2.3 下载PHPExcel 将这两个文件放到并更改名字 excel文件: 数据库表: CREATE TABLE `sh_name` ( `name` varchar(255 ...

  3. Servlet读取Excel标准化数据库过程记录

    完成数据库的连接 获取连接参数 拷贝1.数据库URL 2.驱动程序类 3.用户 编写Servlet 1.创建连接对象 Connection con = null; PreparedStatement ...

  4. PHPExcel读取excel的多个sheet存入数据库

    //批量导入文章 excel读取 public function importdata ( $filename, $tmp_name ) { //设置超时时间 set_time_limit(0); $ ...

  5. 读取Excel的记录并导入SQL数据库

    准备一下,近段时间,需要把Excel的数据导入数据库中. 引用命名空间: using System.Configuration; using System.Data; using System.Dat ...

  6. POI读取Excel数据保存到数据库,并反馈给用户处理信息(导入带模板的数据)

    今天遇到这么一个需求,将课程信息以Excel的形式导入数据库,并且课程编号再数据库中不能重复,也就是我们需要先读取Excel提取信息之后保存到数据库,并将处理的信息反馈给用户.于是想到了POI读取文件 ...

  7. Java 读取Excel内容并保存进数据库

    读取Excel中内容,并保存进数据库 步骤 建立数据库连接 读取文件内容 (fileInputStream 放进POI的对应Excel读取接口,实现Excel文件读取) 获取文件各种内容(总列数,总行 ...

  8. postman上传excel,java后台读取excel生成到指定位置进行备份,并且把excel中的数据添加到数据库

    最近要做个前端网页上传excel,数据直接添加到数据库的功能..在此写个读取excel的demo. 首先新建springboot的web项目 导包,读取excel可以用poi也可以用jxl,这里本文用 ...

  9. java读取excel文件数据导入mysql数据库

    这是我来公司的第二周的一个小学习任务,下面是实现过程: 1.建立maven工程(方便管理jar包) 在pom.xml导入 jxl,mysql-connector 依赖 可以在maven仓库搜索 2.建 ...

随机推荐

  1. Swift数据类型简介

    用 Swift 编写 iOS 和 OS X 应用将是一场美妙的体验,Swift 之后也会不断开发新特性和兼容性. Swift 提供了与C.Objective-C的相似的基础数据类型,包含整数Int,浮 ...

  2. python字典和列表使用的要点

    dicts = {} lists = [] dicts['name'] = 'zhangsan' lists.append(dicts) 这时候lists的内容应该是[{'name': 'zhangs ...

  3. 【python cookbook】【字符串与文本】12.文本过滤和清理

    问题:例如清除在web页面表单中填入了pýtĥöñis这样的文本 解决方法:str.translate()方法 s = 'p\xfdt\u0125\xf6\xf1\x0cis\tawesome\r\n ...

  4. ch2-4:遇到嵌套列表进行缩进打印

    1.增加一个参数来控制缩进打印:level '''这是一个模块,可以打印列表,其中可能包含嵌套列表''' def print_list(the_list,level): ""&qu ...

  5. du -sh

    评估文件空间利用率: [root@vm-xiluhua][/home]$ du -sh /home 409M /home --exclude选项,排除指定模式的文件的大小 [root@vm-xiluh ...

  6. phpize 动态添加 PHP 扩展的错误及解决方案

    使用phpize 动态添加 PHP 扩展是开发中经常需要做的事情,但是在 macOS 中,首次使用该功能必然会碰到一些错误,本文列出了这些错误的解决方法. 问题一: 执行 phpize 报错如下: $ ...

  7. oracle数据库表空间文件收缩实例

    Oracle数据文件收缩实例 数据文件的作用 HWM的基本概念 查看数据文件的使用情况 包括内容:数据文件大小,已经used空间,free空间,hwm信息 select /*+ ordered use ...

  8. Shell 字符串比较

    转自网络 Shell字符串比较 收藏 Shell 中整数比较方法及字符串的比较方法,如等于,不等于,大于,大于等于,小于,等等. 二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别. --- ...

  9. ajax 无刷新分页

    //ajax 无刷新分页1.前台要做的 滑动时 当前page+1,通过page ajax请求后台接口获取数据将数据进行拼装;2.后台要做的 做分页接口返回json数据前台判断触发请求条件: var p ...

  10. hdu4940 Destroy Transportation system(2014多校联合第七场)

    题意很容易转化到这样的问题:在一个强连通的有向图D中是否存在这样的集合划分S + T = D,从S到T集合的边权大于从T到S集合的边权. 即D(i, j)  > B(j, i) + D(j, i ...