asp.net 中excel 导入数据库
- protected void Button1_Click(object sender, EventArgs e)
- {
- SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["LYConnectionString"].ConnectionString); ;//链接数据库
- conn.Open();
- try
- {
- string fileurl = typename(FileUpload1);//调用typename方法取得excel文件路径
- DataSet ds = new DataSet();//取得数据集
- ds = xsldata(fileurl);
- int errorcount = ;//记录错误信息条数
- int insertcount = ;//记录插入成功条数
- int updatecount = ;//记录更新信息条数
- for (int i = ; i < ds.Tables[].Rows.Count; i++)
- {
- string stuid = ds.Tables[].Rows[i][].ToString();
- string stuname = ds.Tables[].Rows[i][].ToString();
- string stusex = ds.Tables[].Rows[i][].ToString();
- string zhuanye = ds.Tables[].Rows[i][].ToString();
- string classname = ds.Tables[].Rows[i][].ToString();
- Response.Write(stuid);
- Response.Write(stuname);
- Response.Write(stusex);
- Response.Write(zhuanye);
- Response.Write(classname);
- if (stuid != "" && stuname != "" && stusex != "" && zhuanye != "" && classname != "")
- {
- SqlCommand selectcmd = new SqlCommand("select count(*) from stud ", conn);
- int count = Convert.ToInt32(selectcmd.ExecuteScalar());
- if (count > )
- {
- SqlCommand selectcmd2 = new SqlCommand("select count(*) from stud where stuid='" + stuid + "'", conn);
- int count2 = Convert.ToInt32(selectcmd2.ExecuteScalar());
- if (count2 > )
- {
- SqlCommand updatecmd = new SqlCommand("update stud set stuname='" + stuname + "',stusex='" + stusex + "',zhuanye='" + zhuanye + "',classname='" + classname + "' where stuid='" + stuid + "'", conn);
- updatecmd.ExecuteNonQuery();
- updatecount++;
- }
- else
- {
- SqlCommand insertcmd = new SqlCommand("insert into stud values('" + stuid + "','" + stuname + "','" + stusex + "','" + zhuanye + "','" + classname + "')", conn);
- insertcmd.ExecuteNonQuery();
- insertcount++;
- }
- }
- else
- {
- SqlCommand insertcmd = new SqlCommand("insert into stud values('" + stuid + "','" + stuname + "','" + stusex + "','" + zhuanye + "','" + classname + "')", conn);
- insertcmd.ExecuteNonQuery();
- //break;
- }
- }
- else
- {
- errorcount++;
- }
- }
- Response.Write("<script language='javascript'>alert('" + insertcount + "条数据导入成功!" + updatecount + "条数据更新成功!" + errorcount + "条数据部分信息为空没有导入!');</script>");
- }
- //catch (Exception exp)
- //{
- // Response.Write("<script language='javascript'>alert('导入失败!');</script>");
- //}
- finally
- {
- conn.Close();
- }
- }
- //判断上传文件,并保存文件
- private String typename(FileUpload fileloads)
- {
- string fullfilename = fileloads.PostedFile.FileName;
- string filename = fullfilename.Substring(fullfilename.LastIndexOf("\\\\") + );
- string type = fullfilename.Substring(fullfilename.LastIndexOf(".") + );
- string murl = "";
- if (type == "xls")
- {
- fileloads.PostedFile.SaveAs(Server.MapPath("excel") + "\\\\" + filename);
- murl = (Server.MapPath("excel") + "\\\\" + filename).ToString();
- }
- else
- {
- Response.Write("<script language='javascript'>alert('导入文件格式不对!');</script>");
- }
- return murl;
- }
- // 数据库导入数据集dataset
- private DataSet xsldata(string filepath)
- {
- string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;IMEX=1'";
//如果是导入excel2013版本,连接字符串则应该变成
string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath + ";Extended Properties='Excel 12.0;IMEX=1'";
- System.Data.OleDb.OleDbConnection Conn = new System.Data.OleDb.OleDbConnection(strCon);
- string strCom = "SELECT * FROM [Sheet1$]";
- Conn.Open();
- System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strCom, Conn);
- DataSet ds = new DataSet();
- myCommand.Fill(ds, "[Sheet1$]");
- Conn.Close();
- return ds;
- }
- }
asp.net 中excel 导入数据库的更多相关文章
- ASP.NET 将Excel导入数据库
将Excel导入数据库大致流程: Excel数据->DataSet->数据库 需要做的准备:1.FileUpload控件一个,按钮一个,如果需要即时显示那么GridView或DataGr ...
- excel 导入数据库 / SSIS 中 excel data source --64位excel 版本不支持-- solution
当本地安装的excel(2013版) 是64-bit时:出现的以下两种错误 解决: 1. excel 导入数据库 , 如果文件是2007则会出现:“The 'Microsoft.ACE.OLEDB.1 ...
- 将Excel中数据导入数据库(三)
上篇文章将Excel中数据导入数据库时,将从Excel读入的数据均转换成了数据库相应字段的类型,其实这是没有必要的,因为对于数据库各种类型的插入,均可以字符串格式插入.比如表WQ_SWMSAR_A字段 ...
- 将Excel中数据导入数据库(二)
在上篇文章中介绍到将Excel中数据导入到数据库中,但上篇文章例子只出现了nvachar类型,且数据量很小.今天碰到将Excel中数据导入数据库中的Excel有6419行,其中每行均有48个字段,有i ...
- 将Excel中数据导入数据库(一)
在工作中经常要将Excel中数据导入数据库,这里介绍一种方法. 假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: Excel中数据导入数据库帮助类如下: using System; ...
- Java实现将Excel导入数据库和从数据库中导出为Excel
实现的功能: 用Java实现从Excel导入数据库,如果存在就更新 将数据库中的数据导出为Excel 1.添加jxl.jar mysql-connector-java.1.7-bin.jar包到项目的 ...
- C# ASP.NET CSV文件导入数据库
原文:C# ASP.NET CSV文件导入数据库 using System; using System.Collections.Generic; using System.Text; using Sy ...
- 2014-08-01 ASP.NET中对SQLite数据库的操作——ADO.NET
今天是在吾索实习的第18天.我主要学习了如何在ASP.NET中对SQLite数据库的操作,其基本操作如下: 添加引用System.Data.SQLite.dll(PS:在网页里面任意找到适合的.NET ...
- 记录-java(jxl) Excel导入数据库
本内容主要包括(文件上传.excel2003数据导入数据库)excel导入数据库功能需要jxl jar包支持 下面是文件上传的前端测试代码 <%@ page language="ja ...
随机推荐
- Java 8 开发顶级技巧
本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 我使用Java 8编码已经有些年头,既用于新的应用程序,也用来迁移现有的应用,感觉是时候写一些我发现的非常有用的 ...
- drag and drop
<!DOCTYPE HTML> <html> <head> <script type="text/javascript"> func ...
- 教程-DelphiXE7如何调用Java Class,JAR等文件?
源文地址:http://jingyan.baidu.com/article/e4d08ffdb61b040fd3f60d44.html 第一步,我们先在互联网上把java2pas这个工具下载下来. 下 ...
- CP2102模块介绍(USB转uart)
1.主芯片为CP2102,安装驱动后生成虚拟串口2.USB取电,引出接口包括3.3V(<40mA),5V,GND,TX,RX,信号脚电平为3.3V,正逻辑3.板载状态指示灯.收发指示灯,正确安装 ...
- FreeModbus Slave RTU 精简版源代码【worldsing 笔记】
RTU精简版本 测试环境:IAR for avr 5.40 + M128 目前只优化了ModBusPort.c和ModBusRTU.c ModBusPort.c 566 bytes of CO ...
- 关于STM32下载问题的简单理解
首先STM32分为两种下载方式1.ISP(IN-SYSTEM-PROGRAMMING在线编程) 2.JTAG 这里简单谈谈对ISP下载的理解: ISP下载是51单片机,STM等单片机比较常见的一种下 ...
- Redis的Time Event与File Event的微妙关系
redis里设计了两类事件,一类是file event,一类是time event. 其中file event主要为网络事件而设计,而time event为一些后台事件设计. 在两类事件的管理设计上, ...
- slave_net_timeout
http://blog.csdn.net/lwei_998/article/details/46864453
- PAT 1015
1015. Reversible Primes (20) A reversible prime in any number system is a prime whose "reverse& ...
- android中3种实现动画效果的方法
3中实现动画的方法:ImageView imgView = (ImageView)findViewById(R.id.imageView_logo); //第一种动画方法,使用AlphaAnimati ...