.net 导入excel数据
- /**
*
*在本章节中主要讲解的是如何使用OLEDB将Excel中的数据导入到数据库中
*
*/
using System;- using System.Data;
- using System.Data.OleDb;
- using System.Data.SqlClient;
- using System.IO;
- using System.Text;
- using System.Web;
- using System.Web.UI;
- private DataTable xsldata()
- {
- if(fuload.FileName == "")
- {
- lbmsg.Text = "请选择文件";
- return null;
- }
- string fileExtenSion;
- fileExtenSion = Path.GetExtension(fuload.FileName);
- if(fileExtenSion.ToLower() != ".xls" && fileExtenSion.ToLower() != ".xlsx")
- {
- lbmsg.Text = "上传的文件格式不正确";
- return null;
- }
- try
- {
- string FileName = "App_Data/" + Path.GetFileName(fuload.FileName);
- if(File.Exists(Server.MapPath(FileName)))
- {
- File.Delete(Server.MapPath(FileName));
- }
- fuload.SaveAs(Server.MapPath(FileName));
- //HDR=Yes,这代表第一行是标题,不做为数据使用 ,如果用HDR=NO,则表示第一行不是标题,做为数据来使用。系统默认的是YES
- string connstr2003 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(FileName) + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
- string connstr2007 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath(FileName) + ";Extended Properties=\"Excel 12.0;HDR=YES\"";
- OleDbConnection conn;
- if(fileExtenSion.ToLower() == ".xls")
- {
- conn = new OleDbConnection(connstr2003);
- }
- else
- {
- conn = new OleDbConnection(connstr2007);
- }
- conn.Open();
- string sql = "select * from [Sheet1$]";
- OleDbCommand cmd = new OleDbCommand(sql, conn);
- DataTable dt = new DataTable();
- OleDbDataReader sdr = cmd.ExecuteReader();
- dt.Load(sdr);
- sdr.Close();
- conn.Close();
- //删除服务器里上传的文件
- if(File.Exists(Server.MapPath(FileName)))
- {
- File.Delete(Server.MapPath(FileName));
- }
- return dt;
- }
- catch(Exception e)
- {
- return null;
- }
- }
- protected void Btn_Export_Excel_To_DB_Click(object sender, EventArgs e)
- {
- try{
- DataTable dt = xsldata();
- //dataGridView2.DataSource = ds.Tables[0];
- int errorcount = ;//记录错误信息条数
- int insertcount = ;//记录插入成功条数
- int updatecount = ;//记录更新信息条数
- string strcon = "server=localhost;database=database1;uid=sa;pwd=sa";
- SqlConnection conn = new SqlConnection(strcon);//链接数据库
- conn.Open();
- for(int i = ; i < dt.Rows.Count; i++)
- {
- string Name = dt.Rows[i][].ToString();//dt.Rows[i]["Name"].ToString(); "Name"即为Excel中Name列的表头
- string Sex = dt.Rows[i][].ToString();
- int Age = Convert.ToInt32(dt.Rows[i][].ToString());
- string Address = dt.Rows[i][].ToString();
- if(Name != "" && Sex != "" && Age != && Address != "")
- {
- SqlCommand selectcmd = new SqlCommand("select count(*) from users where Name='" + Name + "' and Sex='" + Sex + "' and Age='" + Age + "' and Address=" + Address, conn);
- int count = Convert.ToInt32(selectcmd.ExecuteScalar());
- if(count > )
- {
- updatecount++;
- }
- else
- {
- SqlCommand insertcmd = new SqlCommand("insert into users(Name,Sex,Age,Address) values('" + Name + "','" + Sex + "'," + Age + ",'" + Address + "')", conn);
- insertcmd.ExecuteNonQuery();
- insertcount++;
- }
- }
- else
- {
- errorcount++;
- }
- }
- Response.Write((insertcount + "条数据导入成功!" + updatecount + "条数据重复!" + errorcount + "条数据部分信息为空没有导入!"));
- }
- catch(Exception ex)
- {
- }
- }
.net 导入excel数据的更多相关文章
- SQL Server服务器上需要导入Excel数据的必要条件
SQL Server服务器上需要导入Excel数据,必须安装2007 Office system 驱动程序:数据连接组件,或者Access2010的数据库引擎可再发行程序包,这样就不必在服务器上装Ex ...
- PLSQL Developer导入Excel数据
LSQL Developer导入Excel数据 最近处理将Excel数据导入Oracle的工作比较多.之前都是采用Sqlldr命令行导入的方式处理.每次导入不同格式的Excel表数据,都需要先把Exc ...
- 导入excel数据
前提条件:先要安装好EXCEL软件. 程序中经常要用到导入excel数据的功能.其实通过ole操作excel就简单的几行代码,但记性不好,经常要用经常要找, 还是作篇笔记吧. var ExcelApp ...
- (转)PLSQL Developer导入Excel数据
场景:近来在做加班记录的统计,主要是统计Excel表格中的时间,因为我对于Excel表格的操作不是很熟悉,所以就想到把表格中的数据导入到数据库中,通过脚本语言来统计,就很方便了!但是目前来看,我还没有 ...
- 结合bootstrap fileinput插件和Bootstrap-table表格插件,实现文件上传、预览、提交的导入Excel数据操作流程
1.bootstrap-fileinpu的简单介绍 在前面的随笔,我介绍了Bootstrap-table表格插件的具体项目应用过程,本篇随笔介绍另外一个Bootstrap FieInput插件的使用, ...
- 基于 Aspose.Cells与XML导入excel 数据----操作类封装
前言 导入excel数据, 在每个项目中基本上都会遇到,第三方插件或者基于微软office,用的最多的就是npoi,aspose.cells和c#基于office这三种方式,其中各有各的优缺点,在这也 ...
- 【转】 如何导入excel数据到数据库,并解决导入时间格式问题
在办公环境下,经常会用到处理excel数据,如果用写程序导入excel数据到数据库那就太麻烦了,涉及解析excel,还要各种格式问题,下面简单利用数据库本身支持的功能解决这类导入问题. 准备 创建表 ...
- C#导入Excel数据常见问题
今天在做一个excle数据导入的时候遇到了一个奇葩问题,项目使用的是MVC,在VS2010里面调试的时候没有问题,可是当发布到本地IIS或服务器上时就出现了问题: 1.excel文件正在被使用: 2. ...
- Oracle导入excel数据快速方法
Oracle导入excel数据快速方法 使用PLSQL Developer工具,这个可是大名鼎鼎的Oracle DBA最常使用的工具. 在单个文件不大的情况下(少于100000行),并且目的 ...
- thinkphp整合系列之phpexcel导入excel数据
一:导入phpexcel /ThinkPHP/Library/Vendor/PHPExcel 二:导入excel的函数 /** * 导入excel文件 * @param string $file ex ...
随机推荐
- PHP环境手动搭建wamp-----Apache+MySQL+PHP
首先下载分别下载Apache+MySQL+PHP. 然后分别解压到文件夹中. 1.安装Apache 1)检查80端口是否占用 说明:apache软件占用80软件,在计算机中一个端口只能被一个软件占用 ...
- 鼠标滑过切换div显示(鼠标事件)
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- python subprocess模块使用总结
一.subprocess以及常用的封装函数运行python的时候,我们都是在创建并运行一个进程.像Linux进程那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序.在Python ...
- 前端基础之html-Day12
1.web服务本质 import socket def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bi ...
- SpringBoot集成Mybatis
1.创建SpringBoot工程 根据 http://www.cnblogs.com/vitasyuan/p/8765329.html 说明创建SpringBoot项目. 2.添加相关依赖 在pom. ...
- python基础——类名称空间与对象(实例)名称空间
python基础--类名称空间与对象(实例)名称空间 1 类名称空间 创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类的良好总属性:数据属性和函数属性 其中类 ...
- python3全栈开发-面向对象的三大特性(继承,多态,封装)之继承
一 .初识继承 1.什么是继承 继承是一种创建新类的方式,新建的类可以继承一个或多个父类(python支持多继承),父类又可称为基类或超类,新建的类称为派生类或子类. 特点: 子类会“”遗传”父类的属 ...
- uva 10870
https://vjudge.net/problem/UVA-10870 题意: f(n) = a1f(n − 1) + a2f(n − 2) + a3f(n − 3) + . . . + adf(n ...
- Django:(博客系统)使用使用mysql数据->后台管理tag/post/category的配置
Django后台一般是不需要人为的去开发的,因为django已经通过配置实现哪些模块是后台需要管理,如何排序,列表展示哪些列,列显示名称,是否为空(默认值),过滤条件,分页页数,列表中哪些项可编辑等等 ...
- 复习HTML+CSS(5)
n <meta>标记 <meta>的主要作用,是提供网页的源信息.比如:指定网页的搜索关键字 <meta>标记有两个属性:http-equiv和name. 1. ...